[Android]Android开发(一)

Android

开发环境搭建

选择在Linux下进行开发

配置JDK

  • 下载

  • 安装

      	 tar -zxvf jdk-8u101-linux-x64.tar.gz
       	 cd jdk1.8.0_101/
       	 pwd 得到 jdk 开发环境路径 /home/itcast/BC-Project/jdk1.8.0_101
    
  • 配置JDK_HOME, JAVA_HOME

      vim ~/.bashrc
      
      export JAVA_HMOE=/home/itcast/BC-Project/jdk1.8.0_101
      export JDK_HOME=$JAVA_HOME
      source ~/.bashrc
    

配置AndroidStudio

安卓开发环境选择AndroidStudio

  • 下载
  • 安装
    • unzip android-studio-ide-143.2915827-linux.zip
    • cd android-studio/
      cd ./bin/
      ./studio.sh
  • 配置STDDIO_JDK

./studio.sh,运行时会报错,如下选择

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
如果有错误如下

	sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0 lib32stdc++6

在这里插入图片描述

正常安装可以在启动后看键启动界面,建立项目即可

ADB真机调试

  • 如果不连接真机,而是在创建项目后如下运行,需要启动Android模拟器启动,运行速度很慢,因此需要真机调试
    在这里插入图片描述

  • 借助adb真机调试,安装的Andoroid SDK时中有现成的ADB工具,可将该ADB设置到环境变量中

      位置:/home/itcast/BC-Project/Android-SDK/platform-tools/adb
      设置进环境变量:export PATH=$PATH:/home/itcast/BC-Project/Android-SDK/platform-tools/
    
  • 由于Android手机厂商系统原因要开启USB调试功能,先确保手机能够正确的链接到usb,让系统能够检查出来,可以通过lsusb来查看安卓手机是否已经链接到Linux操作系统上

调试

  • 链接成功,使用adb devices就可以发现一台已经链接到linux 并且通过adb将手机和Android Studio链接成功的列表

      itcast:platform-tools$ adb devices
      List of devices attached 
      005a380d    device
      
      itcast:platform-tools$
    

'005a380d’就是目前我正在调试的安卓手机id号,在Android Studio,点击
在这里插入图片描述
选择已经链接好的真机Android项目,点击OK,就可以将编辑好的AndroidAPK部署在真机上
在这里插入图片描述

minsdk(api 15) > devicesdk(api 10) 类似问题

修改app/src/build.gradle 将minSdkVersion改成10, 然后点击Sync Now即可

Android的快速建模开发

调试信息的输出

  • 使用Log类输出

      import android.util.Log
    
  • Log类的接口v, d, i, w, e来实现输出调试信息,其中v表示任何信息,d表示debug,i表示information,w表示warning,e表示error信息

  • 打开Android Monitor视图,可以选择一些过滤条件查看输出信息

  • 在Android项目代码内通过toast显示信息

      Toast.makeText(getApplicationContext(), "信息内容",
      Toast.LENGTH_SHORT).show();
    

UI控件与代码关联

  • 每一个Android界面叫做Activity
  • ./app/src/main/res/layout/activity_main.xml这就是一个布局样式文件,可以打开design标签窗口可以进行可视化布局
  • MainActivity.java是与activity_main.xml关联的文件,在.java文件中要做UI控件与代码的关联,然后就可以获得控件参数,绑定事件等

Android生命周期函数

public class MainActivity extends AppCompatActivity {

    public Button btn;
    public EditText editText_username;
    public String logTag = "MainActivityDebug";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        Log.e(logTag, "onCreate");

        setContentView(R.layout.activity_main);

        //关联变量和 UI控件

        btn = (Button)findViewById(R.id.button);
        editText_username = (EditText) findViewById(R.id.editText_username);

        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                String username = editText_username.getText().toString();

                Log.e(logTag, username);
            }
        });
    }


    @Override
    protected void onStart() {
        super.onStart();
        Log.e(logTag, "onStart");
    }

    @Override
    protected void onStop() {
        super.onStop();
        Log.e(logTag, "onStop");
    }

    @Override
    protected void onRestart() {
        super.onRestart();
        Log.e(logTag, "onRestart");
    }

    @Override
    protected void onPause() {
        super.onPause();
        Log.e(logTag, "onPause");
    }

    @Override
    protected void onResume() {
        super.onResume();
        Log.e(logTag, "onResume");
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        Log.e(logTag, "onDestory");

    }
}

常用控件

Android界面的开发一般较为简单,常用的控件如

  • Button
  • TextView
  • EditText

NDK与JNI

NDK

.NDK是一系列工具的集合,快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk;K集成了交叉编译器,并提供了相应的mk文件隔离CPU、平台、ABI等差异,开发人员只需要简单修改mk文件(指出“哪些文件需要编译”、“编译特性要求”等),就可以创建出so

  • 代码的保护。由于apk的java层代码很容易被反编译,而C/C++库反汇难度较大
  • 可以方便地使用现存的开源库
  • 提高程序的执行效率。将要求高性能的应用逻辑使用C开发,从而提高应用程序的执行效率
  • 便于移植。用C/C++写得库可以方便在其他的嵌入式平台上再次使用

NDK配置

JNI

  • JNI是Java Native Interface的缩写,它提供了若干的API实现了Java和其他语言的通信(主要是C&C++)

Libcurl

在移动端Android配置好Libcurl

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值