Mac系统下安装配置安卓开发工具(Eclipse)图文教程

 更新时间:2016年9月20日 19:57  点击:1419
很多同学可能需要同时开发ios和Android应用,本文我们提供在mac系统下安装配置Android开发环境图文步骤,如果你的开发机器是mac,本文值得参考。

Java JDK下载

Java JDK(Java SE Development Kit)官方下载 http://www.oracle.com/technetwork/cn/java/javase/downloads/index.html

按照平台下载安装

Mac获得Java的安装位置

$ echo $(/usr/libexec/java_home) #输出当前JDK路径

安装的JDK8: /Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk

Mac自带的JDK6: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk

Android SDK下载

官方地方被墙,不解释,翻墙吧。

Android SDK官方下载 https://developer.android.com/sdk/index.html

无法翻墙的请使用国内资源进行下载 Android Dev Tools

下载完, 自行解压 下载好的Android SDK,打开Eclipse —> Preferences对话框,找到Android那一项,单击Browse,选取SDK目录即可。

Eclipse安装

下载对应平台, 然后安装就可以了, 没有什么好说的

ADT安装

ADT(Android Developer Tools)

打开Eclipse,在菜单中选择Help中的 Install New Software , 在右上方选择Add

Name编辑为 ADT

Location编辑为 https://dl-ssl.google.com/android/eclipse/ ( 你懂的要翻 )


ADT

选择 Developer Tools , 点击 next 执行下载

安装平台工具

安装好重启后, 在 Window 中 Android SDK Manager 中下载 Tools 和 Extras 以及其他API


API

虚拟机设置

在Window中打开 Android Virtual Device Manager , Create添加一个Android虚拟机, 用于开发的Android程序做测试.


虚拟机

创建Android工程

重启Eclipse程序后, File->New->Other->Android Application Project. 设置项目名等条目, 创建成功


创建


设置

安装成功

FAQ

AppCompat v7 r21 returning error in values.xml?

搭建过程中会出现各种各样的问题, 遇到问题时, 大家最好把出错原因放到Google中搜索, 最后总能解决的, 实在解决不了, 可以找了安卓开发者帮你看看, 最后祝大家都能成功配置安卓开发环境.


另一篇来自百度经验的,也值得参考

在mac上搭建Android开发环境

首先我们需要知道开发安卓的环境由以下几个组件组成:Java虚拟机JDK、Eclipse、Eclipse插件ADT(Android Developer Tool)和Android开发包SDK。下面就和大家一起学习如何来快速的,适合新手的搭建方式吧!

方法/步骤

因为系统自带jdk,所以就不用在下载了。可以在终端输入java -version查看其结果。


在mac上搭建Android开发环境

然后去android的官方网站下载ADT工具

http://developer.android.com/sdk/index.html

可能之前很多人的教程中都说需要SDK+Eclipse,还有Eclipse插件

但是现在官方把他们全部整合在一起了。

官方的原话“With a single download, the ADT Bundle includes everything you need to begin developing apps”

仅仅下载这个ADT(安卓开发工具包)就包含了你开发所需要的所有东西!

实际就是官方为了方便大家开发,给我们进行了打包吧。


在mac上搭建Android开发环境

解压下载完的ADT包,里面有两个文件夹,一个eclipse一个SDK


在mac上搭建Android开发环境

继续跟着官方文档走,建议将其解压在家目录下的Development目录下,我没有Development目录,但是作为一个菜鸟,我还是决定完全照着官方的意思走,所以我新建了一个Development,然后把刚刚自动解压的eclipse和sdk都移了进来(如何操作?我是使用的终端 mkdir Development 然后mv进来的)


在mac上搭建Android开发环境

进入到eclipse目录,然后启动它!激动人心的时刻!


在mac上搭建Android开发环境


在mac上搭建Android开发环境

现在似乎一起都准备就绪了,可以创建自己的第一个app了!


在mac上搭建Android开发环境


本文章来为各位介绍Android fragment使用方法与注意事项,希望此例子能够帮助到各位朋友,有需要了解的朋友可进来看看。
1、使用支持库

 

如果您的应用需要运行在3.0及以上的版本,可以忽略这部分内容。

 

如果您的应用使用在3.0以下、1.6及以上的版本,需要使用支持库来构建。

 

使用支持库的步骤:

 



  1. 使用SDK下的SDK Manager工具下载Android Support Package


     2. 在您的Android工程的顶级目录下创建一个libs目录

    3. 找到您的SDK下的/extras/android/support/v4/android-support-v4.jar,并且拷贝到您的项目的libs下,选中这个jar包 → 右键 → Build Path → Add to Build Path

    4.在您的项目的Manifest.xml文件的<manifest>标签下添加:

    <uses-sdkandroid:minSdkVersion="4"

      android:targetSdkVersion="8"/>

      其中targetSdkVersion是您的软件最小支持的版本

    5.如果您的项目支持3.0以下的版本,请导入如下的包:android.support.v4.*;

    在使用Fragment的Activity请继承FragmentActivity而不是Activity。如果您的系统是3.0或以上版本,同样需要导入类似的包,但是可以使用普通的Activity。 

      

    2、创建一个Fragment

    Fragment支持在不同的Activity中使用并且可以处理自己的输入事件以及生命周期方法等。可以看做是一个子Activity。

    创建一个Fragment

    创建一个Fragment和创建一个Activity很类似,继承Fragment类,重写生命周期方法,主要的不同之处就是需要重写一个onCreateView()方法来返回这个Fragment的布局。例子:

     


      

    Fragment的生命周期方法依赖于Activity的生命周期,例如一个Activity的onPause()的生命周期方法被调用的时候这个Activity中的所有的Fragment的onPause()方法也将被调用。

     

    更多的内容请参照类Fragment。

    使用XML添加FragmentActivity

    尽管Fragment可以被多个Activity重用,但是您也必须把Fragment关联到一个FragmentActivity上。可以使用XML布局文件的方式来实现这种关联。

    说明:上面的所说的FragmentActivity适用在API在3.0以下的版本,3.0及以上的版本可以使用普通的Activity。

    例子:


      

    上面使用fragment标签,android:name=””指定一个添加到xml中的Fragment。对于创建不同的屏幕尺寸布局的更多信息,请阅读支持不同的屏幕尺寸。

     


     

      

    当您添加一个片段一个活动布局定义的布局XML文件中的片段,你不能删除在运行时的片段。如果您打算在用户交互和交换片段,你必须添加的活性片段的活动时第一次启动。

     

    3、构建一个灵活的UI

     

    FragmentManager提供了对Activity运行时的Fragment的添加、删除、替换的操作。

     

    在Activity运行期间你可以添加Fragment而不是在XML布局文件中进行定义。如果你打算在Activity中改变Fragment的生命过程。

     

    如果要执行添加、删除、修改的操作,你必须通过FragmentManager的对象获得一个FragmentTransaction对象,通过它的API来执行这些操作。

     

    添加一个Fragment到一个Activity,必须把这个Fragment添加到一个容器视图中。例子:


     

    在Activity中你可以通过getFragmentManager()来获得Fragment对象,然后通过FragmentManager对象的beginFragmentTransaction()方法来获得FragmentTransaction对象。通过它的add()方法来添加一个Fragment到当前的Activity中。

    一个FragmentTransaction对象可以执行多个增删修的方法,如果你想把这些修改提交到Activity上,必须在最后调用一下这个对象的commit()方法。例子:


     


      

    由于不是定义在XML布局中的,所有可以转型删除和修改的操作。

    如果替换或者删除一个Fragment然后让用户可以导航到上一个Fragment,你必须在调用commit()方法之前调用addToBackStack()方法添加到回退栈。如果你把这个Fragment添加到了回退栈,在提交之后这个Fragment是会被Stop而不是Destroyed。如果用户导航到这个Fragment,这个Fragment会被Restart而不是重新创建。如果你没有把它添加到回退栈,则在删除或者替换的时候它将被Destroyed。例子:


      

    4、与其他Fragment的交互

    两个单独的Fragment之间是不应该进行通信的。应该使用他们所存在的Activity作为沟通的纽带。

    为了实现两个Fragment的交互,您可以在Fragment中定义一个接口,然后再这个接口中定义一个方法,在Fragment的onAttach()方法中调用这个接口中的方法。然后让Activity实现这个方法来完成Activity和Fragment之间的通信。例子:

    定义接口并调用方法:

     


      

    实现接口,在这个方法中可以进行与其他Fragment的数据的交互:


      

    可以通过FragmentManager的findFragmentById()来查找一个Fragment。


     

     

    fragment使用注意

  2. 在讲这之前呢,需要讲一下,fragment布局的原理,fragment 布局叫做层布局,是一层覆盖一层的。当一个布局里面需要多个fragment 布局嵌套的时候。就会遇到这种难过情况,你会发现两个fragment 的内容重叠到一块了。如果页面里面有按纽的话,你会发现点的第一个页面的按钮。但是第二个页面里的按钮点击事件也被触发了。

  3. 这是昨天遇到的情况,下面就讲一下解决办发,首先你要找到你的fragment 的布局文件。

  4. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
               android:layout_width="match_parent"
               android:layout_height="match_parent"
               android:background="@color/white"
               android:clickable="true"
               android:orientation="vertical" >
     
         <RelativeLayout
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:layout_marginTop="20dp" >
     
           <ImageView
              android:id="@+id/iv_center_head"
              android:layout_width="50dp"
              android:layout_height="50dp"
              android:layout_marginLeft="10dp"
              android:background="@drawable/ic_launcher" />
     
           <TextView
              android:id="@+id/tv_center_shop_name"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:layout_marginTop="9dp"
              android:layout_toRightOf="@+id/iv_center_head"
              android:text="asd"
               android:textSize="14sp" />
        </RelativeLayout>
    </LinearLayout>

  5. 这是一个布局文件,准确的说是fragment 布局文件,需要注意的是:


  6. android:background="@color/white"
    android:clickable="true"

  7. 这两句代码就表示,为fragment 设置背景,以防两个fragment 布局文件重叠,内容错乱出现。 第二行代码则防止  点击穿透的。还有最后不推荐使用多个fragment 重复使用。

下面我们一起来看一篇关于 安卓开发之Intent传递Object与List的例子,希望这个例子能够为各位同学带来帮助。

 

Intent 不仅可以传单个的值,也可以传对象与数据集合。 传递List<String> 数据集合。

ArrayList<String> info = new ArrayList<String>();
     info.add(name);
     info.add(website);
     info.add(weibo);
Intent intent = new Intent(MainActivity.this, ResultActivity.class);
    intent.putStringArrayListExtra("infoList", info);
    startActivity(intent);

接收String 的方法。

ArrayList<String> infoList = new ArrayList<String>();
infoList = getIntent().getStringArrayListExtra("infoList");

传递Object,此Obiect对象需要实现Serializable接口,用Serializable方式传递Object的语法:bundle.putSerializable(key,object);用Serializable方式接收Object的语法:object=(Object) getIntent().getSerializableExtra(key);实现Serializable接口就是把对象序列化,然后再传输,和Java的常用编程没什么明显区别,而且Object不需要明显改变,推荐用这种方式。

下面是Object对象:

public class SerInfo implements Serializable {
 
   private String name;
   private String website;
   private String weibo;
    ............
}

get,set方法自己创建,用Serializable 传递Object:

SerInfo serInfo = new SerInfo(name, website, weibo);
   Intent intent = new Intent();
   Bundle bundle = new Bundle();
   bundle.putSerializable("serinfo", serInfo);
   intent.setClass(MainActivity.this, ResultActivity.class);
   intent.putExtras(bundle);
   startActivity(intent);

用Serializable 接收Object:

SerInfo serInfo = (SerInfo) getIntent().getSerializableExtra(<span class="string">"serinfo"</span>);

这里讲的只是用Serializable这种方式传递数据,当然还有一种方式用Parcelable接口实现。

支付宝支付在国内算是大家了,我们到处都可以使用支付宝了,下文整理介绍的是在安卓app应用中使用支付宝进行支付的开发例子。


之前讲了一篇博客关与支付宝集成获取支付宝公钥与商户私钥的博客。这一片讲的是如何在项目中集成支付宝。首先要运行我们的Demo.就是配置好公钥与私钥的Demo。只要Demo 运行起来了,那么接下来,就是如何移植代码的问题了。

第一步:

将Demo中libs 文件夹下面的支付宝jar 包拷贝到 所需要引入的项目中的libs 文件下,如果没有此文件,可以自己在项目中新建libs 文件,并将sdk的jar包引入其中。

第二步:

配置AndroidManifest.xml文件。此文件大都是配置信息的。集成支付宝,当然也不例外。下面的代码也是从Demo中拷贝过来的,信息如下:

<!-- alipay sdk begin -->
     <activity
         android:name="com.alipay.sdk.app.H5PayActivity"
         android:configChanges="orientation|keyboardHidden|navigation"
         android:exported="false"
         android:screenOrientation="behind"
         android:windowSoftInputMode="adjustResize|stateHidden" >
     </activity>
     <!-- alipay sdk end -->
可以看到的是这是一个Activity.配置文件。就如平常的注册Activity 一样,放在application节点之中即可。下面是权限的配置:


<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

这是必要的权限,如果添加过的,就不需要重新添加了。没有的,则需要添加到里面。
第三步:

拷贝java文件,同样是Demo 文件中,在你需要引入支付宝的项目中新建一个包,来存放必须要的java 文件。分别是下面几个文件: Base64.java,PayResult.java与SignUtils.java 文件,我下载的是alipaySDK-20150610.jar 的jar 包。只需要引入这些文件即可。
第四步:
下面就是主要Activity的代码的引入了。主要代码如下:
 public static final String PARTNER = "注册账户的PID";
// 商户收款账号
public static final String SELLER = "支付宝收款账户";
// 商户私钥,pkcs8格式
public static final String RSA_PRIVATE = "商户私钥";
// 支付宝公钥
public static final String RSA_PUBLIC = "支付宝公钥";
 
private static final int SDK_PAY_FLAG = 1;
 
private static final int SDK_CHECK_FLAG = 2;
 
private Handler mHandler = new Handler() {
    public void handleMessage(Message msg) {
        switch (msg.what) {
        case SDK_PAY_FLAG: {
            PayResult payResult = new PayResult((String) msg.obj);
 
            // 支付宝返回此次支付结果及加签,建议对支付宝签名信息拿签约时支付宝提供的公钥做验签
            String resultInfo = payResult.getResult();
 
            String resultStatus = payResult.getResultStatus();
 
            // 判断resultStatus 为“9000”则代表支付成功,具体状态码代表含义可参考接口文档
            if (TextUtils.equals(resultStatus, "9000")) {
                Toast.makeText(PayDemoActivity.this, "支付成功",
                        Toast.LENGTH_SHORT).show();
            } else {
                // 判断resultStatus 为非“9000”则代表可能支付失败
                // “8000”代表支付结果因为支付渠道原因或者系统原因还在等待支付结果确认,最终交易是否成功以服务端异步通知为准(小概率状态)
                if (TextUtils.equals(resultStatus, "8000")) {
                    Toast.makeText(PayDemoActivity.this, "支付结果确认中",
                            Toast.LENGTH_SHORT).show();
 
                } else {
                    // 其他值就可以判断为支付失败,包括用户主动取消支付,或者系统返回的错误
                    Toast.makeText(PayDemoActivity.this, "支付失败",
                            Toast.LENGTH_SHORT).show();
 
                }
            }
            break;
        }
        case SDK_CHECK_FLAG: {
            Toast.makeText(PayDemoActivity.this, "检查结果为:" + msg.obj,
                    Toast.LENGTH_SHORT).show();
            break;
        }
        default:
            break;
        }
    };
};

这段代码,是一个Handler,放在Java 文件的顶部。

 * call alipay sdk pay. 调用SDK支付
     *
     */
    public void pay() {
        // 订单
        String orderInfo = getOrderInfo("测试的商品", "该测试商品的详细描述", "0.01");
 
        // 对订单做RSA 签名
        String sign = sign(orderInfo);
        try {
            // 仅需对sign 做URL编码
            sign = URLEncoder.encode(sign, "UTF-8");
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
 
        // 完整的符合支付宝参数规范的订单信息
        final String payInfo = orderInfo + "&sign=\"" + sign + "\"&"
                + getSignType();
 
        Runnable payRunnable = new Runnable() {
 
            @Override
            public void run() {
                // 构造PayTask 对象
                PayTask alipay = new PayTask(PayDemoActivity.this);
                // 调用支付接口,获取支付结果
                String result = alipay.pay(payInfo);
 
                Message msg = new Message();
                msg.what = SDK_PAY_FLAG;
                msg.obj = result;
                mHandler.sendMessage(msg);
            }
        };
 
        // 必须异步调用
        Thread payThread = new Thread(payRunnable);
        payThread.start();
    }
 
    /**
     * check whether the device has authentication alipay account.
     * 查询终端设备是否存在支付宝认证账户
     *
     */
    public void check(View v) {
        Runnable checkRunnable = new Runnable() {
 
            @Override
            public void run() {
                // 构造PayTask 对象
                PayTask payTask = new PayTask(PayDemoActivity.this);
                // 调用查询接口,获取查询结果
                boolean isExist = payTask.checkAccountIfExist();
 
                Message msg = new Message();
                msg.what = SDK_CHECK_FLAG;
                msg.obj = isExist;
                mHandler.sendMessage(msg);
            }
        };
 
        Thread checkThread = new Thread(checkRunnable);
        checkThread.start();
 
    }
 
    /**
     * get the sdk version. 获取SDK版本号
     *
     */
    public void getSDKVersion() {
        PayTask payTask = new PayTask(this);
        String version = payTask.getVersion();
        Toast.makeText(this, version, Toast.LENGTH_SHORT).show();
    }
 
    /**
     * create the order info. 创建订单信息
     *
     */
    public String getOrderInfo(String subject, String body, String price) {
        // 签约合作者身份ID
        String orderInfo = "partner=" + "\"" + PARTNER + "\"";
 
        // 签约卖家支付宝账号
        orderInfo += "&seller_id=" + "\"" + SELLER + "\"";
 
        // 商户网站唯一订单号
        orderInfo += "&out_trade_no=" + "\"" + getOutTradeNo() + "\"";
 
        // 商品名称
        orderInfo += "&subject=" + "\"" + subject + "\"";
 
        // 商品详情
        orderInfo += "&body=" + "\"" + body + "\"";
 
        // 商品金额
        orderInfo += "&total_fee=" + "\"" + price + "\"";
 
        // 服务器异步通知页面路径
        orderInfo += "&notify_url=" + "\"" + "http://notify.msp.hk/notify.htm"
                + "\"";
 
        // 服务接口名称, 固定值
        orderInfo += "&service=\"mobile.securitypay.pay\"";
 
        // 支付类型, 固定值
        orderInfo += "&payment_type=\"1\"";
 
        // 参数编码, 固定值
        orderInfo += "&_input_charset=\"utf-8\"";
 
        // 设置未付款交易的超时时间
        // 默认30分钟,一旦超时,该笔交易就会自动被关闭。
        // 取值范围:1m~15d。
        // m-分钟,h-小时,d-天,1c-当天(无论交易何时创建,都在0点关闭)。
        // 该参数数值不接受小数点,如1.5h,可转换为90m。
        orderInfo += "&it_b_pay=\"30m\"";
 
        // extern_token为经过快登授权获取到的alipay_open_id,带上此参数用户将使用授权的账户进行支付
        // orderInfo += "&extern_token=" + "\"" + extern_token + "\"";
 
        // 支付宝处理完请求后,当前页面跳转到商户指定页面的路径,可空
        orderInfo += "&return_url=\"m.alipay.com\"";
 
        // 调用银行卡支付,需配置此参数,参与签名, 固定值 (需要签约《无线银行卡快捷支付》才能使用)
        // orderInfo += "&paymethod=\"expressGateway\"";
 
        return orderInfo;
    }
 
    /**
     * get the out_trade_no for an order. 生成商户订单号,该值在商户端应保持唯一(可自定义格式规范)
     *
     */
    public String getOutTradeNo() {
        SimpleDateFormat format = new SimpleDateFormat("MMddHHmmss",
                Locale.getDefault());
        Date date = new Date();
        String key = format.format(date);
 
        Random r = new Random();
        key = key + r.nextInt();
        key = key.substring(0, 15);
        return key;
    }
 
    /**
     * sign the order info. 对订单信息进行签名
     *
     * @param content
     *            待签名订单信息
     */
    public String sign(String content) {
        return SignUtils.sign(content, RSA_PRIVATE);
    }
 
    /**
     * get the sign type we use. 获取签名方式
     *
     */
    public String getSignType() {
        return "sign_type=\"RSA\"";
    }
 
}
这一段代码要和上一段代码放在一个Java 文件中,需要注意的一个方法是。 pay() 方法和getOrderInfo(); 需要注意的是,在我们选择支付宝支付的按钮中调用的 是 pay() 方法。而放在pay()方法中则需要调用getOrderInfo(),仔细发现,getOrderInfo()方法里面的三个参数。其中price 参数就是我们要消费的金额,当我们调用pay()方法的时候,就需要传入一个price 的参数,就是我们需要支付的金额。具体的金额怎么传入,计算,要根据项目需要来自己获取了,这样项目集成支付宝就圆满结束了。

现在的手机app到处都并且一般的都是可以直接付款了,现在的支付宝付款接口是支持pc,手机及app版本了,在开始中我们会用到支付宝私钥与公钥问题了,下面整理了一篇文章一起来看看。

项目需要,需要在客户端集成支付宝接口。就研究了一下:因为使用支付宝接口,就需要到支付宝官网:注册帐号,并申请。下面讲的是申请好之后的操作。登录成功之后,   店家我的商家服务—在页面的下方找到——>签约管理—>找打 移动支付—–>点击下载集成文档—>跳到新的页面,在页面下方—>找到下载开发包,下载移动支付即可。然后解压出来之后一般会得到三个文件夹。

这个时候要打开文件名为:  支付宝钱包支付接口开发包2.0标准版的文件。打开之后有一个Demo 文件。打开Demo文件。里面会有三个文件夹:第一个 openssl; 第二个 服务端 Demo,第三个 客户端demo. 这个时候,我们需要关心的是  openssl 文件与 客户端Demo 的文件。

在第三个Demo文件中有IOS版与Android 版的Demo.但是你要部署运行的时候,会发现不能运行成功。在项目主文件里面这样一段代码:

//商户PID
 
public static final String PARTNER = "";
 
//商户收款账号
 
public static final String SELLER = "";
 
//商户私钥,pkcs8格式
 
public static final String RSA_PRIVATE = "";
 
//支付宝公钥
 
public static final String RSA_PUBLIC = "";

因为这些,都是需要根据商户注册的信息来填写的。所以就算下下载了Demo,也没有用。下面讲的就是如何获取私钥与支付宝公钥。

还记得刚刚我们加压之后的openssl文件嘛?获取私钥与公钥的方法就在里面:

首先打开openssl文件:以下是文件打开顺序: openssl–>bin –> 双击 openssl.exe文件。这个时候会出现一个命令框:(首先要说明的是这个文件是在Windows系统下打开的)要是苹果系统好像不行.接着继续往下说:

打开命令框后:输入第一行命令 ,生成私钥,如下:

genrsa -out rsa_private_key.pem 1024

按回车键,接着输入第二行命令,生成公钥:

rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem

按回车键,接着输入第三行命令,将RSA私钥转换成PKCS8格式

pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt
 

执行完这三行命令后,就生成了两个以:.pem 结尾的文件。这就是我们生成的公钥与私钥.文件位置就在: bin  目录下。当然我们打不开这两个文件。但是我们可以复制一份到桌面,改成Txt文件打开即可。因为我们需要的只是里面的字符串,记住当我们引用这两个长的字符串的时候,需要注意的是:字符串,不能包括,换行,空格,以及其他误加的字符。所以复制的时候一定要小心。

当然私钥就是我们需要的私钥了,如何获得支付宝公钥呢:回到支付宝首先,首先登录,

一:  点击“查看PID|KEY”,在新打开的页面(https://b.alipay.com/order/pidAndKey.htm ),可查看到签约支付宝账号、合作者身份ID(PID.

二:输入支付密码,查询key、支付宝公钥。

三:上传RSA公钥,在“合作伙伴密钥管理”下,点击“RSA加密”后的“添加密钥”,把自己的公钥复制进去。注意不能有空格,换

行之类的。


zhifub


:点击确认上传,若是提示上传成功。则就是成功。


这个时候就可查看支付宝公钥了。如图:


zhifua


至此,将对应的私钥与公钥填到相应位置我们的Demo  就可一运行了。然后集成到项目中即可。就需要自己动手了。遇到问题,百度一下。希望给你带来用处。

[!--infotagslink--]

相关文章

  • 苹果告别“高大上”,越来越向安卓和中国用户靠近

    “一起,让我们将这个世界变得更好。”苹果首席执行官蒂姆 库克对着台下5000多名开发者说道,声音略有些沙哑和颤抖。...2016-07-04
  • Tomcat配置及如何在Eclipse中启动

    这篇文章主要介绍了Tomcat配置及如何在Eclipse中启动,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-02-04
  • Laravel4安装配置的方法

    如果我们需要安培Laravel4的话最php最低要求要在php5.3.7版本并且我们需要把mcrypt与openss这两个扩展开启才可以,具体步骤我们参考下文。 前面我们介绍我了 com...2016-11-25
  • 标准版Eclipse搭建PHP环境的详细步骤

    一、下载Eclipse的PHP插件  百度搜索phpeclipse,看到某条结果是带有SourceForge.net字样的,点进去,找到Download按钮,点击之后,等待5秒就会开始下载了。二、安装Eclipse的PHP插件  插件下载完成之后,解压,然后把site.xml...2015-11-24
  • 安卓开发之设置密码只能输入字母和数字的组合

    设置登录密码我们一般会有限制的如由什么组合了,下面我们来看一篇关于安卓开发之设置密码只能输入字母和数字的组合方法,具体的细节如下所示。 无论是电脑还是手机...2016-09-20
  • 自动设置安卓手机wifi代理的PowerShell脚本

    这篇文章主要介绍了自动设置安卓手机wifi代理的PowerShell脚本,帮助大家进行抓包测试,感兴趣的朋友可以了解下...2020-10-17
  • 安卓开发之Intent传递Object与List教程

    下面我们一起来看一篇关于 安卓开发之Intent传递Object与List的例子,希望这个例子能够为各位同学带来帮助。 Intent 不仅可以传单个的值,也可以传对象与数据集合...2016-09-20
  • tomcat9 下载安装和配置+整合到eclipse的教程详解

    这篇文章主要介绍了tomcat9 下载安装和配置+整合到eclipse,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-07-28
  • Eclipse中安装反编译工具Fernflower的方法(Enhanced Class Decompiler)

    这篇文章主要介绍了Eclipse中安装反编译工具Fernflower的方法(Enhanced Class Decompiler),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-01-20
  • 安卓4.1系统手机怎么设置用wifi上网

    wifi上网 几乎是不需要什么设置了,我们只要简单的输入wifi密码与用户名就可以自动连接wifi上网了,下面我以安卓4.1系统为实例 具体步骤 1.在安卓手机中点击“...2016-09-20
  • Ubuntu Server 18.04.5 LTS服务器版安装配置图解教程

    Ubuntu分为桌面版(desktop)和服务器版(Server),下面为大家介绍服务器版本Ubuntu Server 18.04.5 LTS的详细安装过程,需要的朋友可以参考下...2021-02-01
  • Windows系统下Eclipse搭建ESP32编译环境及安装过程

    Ecppse 使用了 ESP-IDF 中的 Makefile 支持。这意味着您需要从创建 ESP-IDF 项目开始。您可以使用 github 中的 idf-template 项目,接下来通过本文给大家介绍Windows系统下Eclipse搭建ESP32编译环境及安装过程,感兴趣的朋友一起看看吧...2021-10-18
  • node.js插件nodeclipse安装图文教程

    这篇文章主要为大家分享了node.js插件nodeclipse安装图文教程,如何安装node.js支持插件,下面小编为大家分享具体步骤...2016-05-09
  • Eclipse编辑jsp、js文件时卡死现象的解决办法汇总

    使用Eclipse编辑jsp、js文件时,经常出现卡死现象,在网上百度了N次,经过N次优化调整后,卡死现象逐步好转,下面通过脚本之家平台给大家分享几种解决办法,需要的朋友参考下...2016-02-05
  • PHP Libevent扩展安装配置及简单应用

    Libevent 是一个用C语言编写的、轻量级的开源高性能网络库,主要有以下几个亮点:事件驱动( event-driven),高性能;轻量级,专注于网络,下文我们就一起来看PHP Libevent扩展安装...2016-11-25
  • Spring JPA配置文件Eclipse报错如何解决

    这篇文章主要介绍了Spring JPA配置文件Eclipse报错如何解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-10-21
  • eclipse汉化及jdk安装环境配置超详细教程(Java安装教程)

    这篇文章主要介绍了eclipse汉化及jdk安装环境配置超详细教程(Java安装教程),本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-03-11
  • CS 1.6成功移植安卓智能手机 附下载地址及安装教程

    Reddit上的高手成功将CS 1.6移植到了安卓智能手机上,而且95-100%兼容原作,几乎无可挑剔,下面小编为大家带来下载地址及安装教程,来看看吧...2016-07-04
  • 安卓(android)实现 翻页功能原理分析

    本文章介绍了三种关于安卓(android)实现 翻页功能原理分析,有需要的同学可以参考一下本文章说到的几种方案哦。 Android平台中的三种翻页效果实现。 第一种翻页效...2016-09-20
  • Eclipse 和 IDEA 导入library库文件【图文步骤】

    关于关于Eclipse 和 IDEA 导入library库文件,本教程使用图文并茂来详情讲解,非常实用,做Android开发的同学可以参考一下。 关于Eclipse 和 IDEA 导入library库文件,...2016-09-20