Android基础

  • 1. 搭建开发环境
>解压压缩文件,得到:①Android SDK   (类似于JDK)② Eclipse  ③ADT
>配置两个path环境变量:D:\adt-bundle-windows-x86\sdk\platform-tools;D:\adt-bundle-windows-x86\sdk\tools
>配置基本的Eclipse的设置:
     
调整字体大小,字符集,配置android sdk的位置

>创建模拟器:



  • 2. 创建第一个Android项目: HelloAndroid
next-next-next-Empty Activity-next-finish 

打开应用程序的AndroidManifest.xml文件,修改minsdkVersion值为8.


  • 3. 四个文件目录结构:
     1). 应用项目的
>L01_HelloWorld:指明当前工程的名称
>src:存放我们编写的java代码
>XxxActivity:一个XxxActivity对应着一个可以与用户交互的应用程序的界面。
     >继承于Activity
     >重写onCreate()方法。在方法内:
     super .onCreate(savedInstanceState);  调用父类的此方法,进行必要的初始化操作
     setContentView(R.layout. activity_main);  加载布局文件
>gen : 系统自动生成的文件目录。里面包含着以应用程序包名命名的一个包 ,包含着R.java
>R类:实际上代表着res文件目录,通过R类,可以实现代码和应用程序之间的调用。
          R类的内部结构是系统自动生成的,一般我们不去操作
 
>assets:资产目录
>bin:编译以后的classes.dex 文件,apk文件都保存在此目录下
>libs:存放第三方的jar包

res:全称:resource:资源,代表着当前应用程序的资源目录。内部保存着layout/drawable / values-strings/values-style
      >drawable-xxx:提供了不同分辨率的图片,供不同分辨率的手机所使用。
      >layout:布局文件。对应着每一个应用程序界面的布局,布局文件就声明在此文件目录下。
          文件都是xml格式
      >values-strings.xml:声明当前应用程序需要的字符串数据。可以在功能清单文件和布局文件中使用
      >values-style.xml:当前应用程序的样式和主题都声明在此

AndroidManifest.xml:功能清单文件。类似于web工程中的web.xml文件
     >指明当前应用程序的包名、可以适配的sdk的最低版本、当前应用程序的版本号、权限
     <application>:指明当前应用程序的名称label,图标icon,主题Theme
             <activity>对应着一个用户界面的Activity。每一个应用程序的Activity的子类,都需要在此功能清单文件中注册。
                   可以声明属性:name /label /theme / launchmode
                    
                    < intent-filter>
                                < action android:name ="android.intent.action.MAIN" />
                                < category android:name ="android.intent.category.LAUNCHER" />
                   </ intent-filter>
                    此处的intent-filter的作用:
                         action:当前的action的值指明了当前的Activity是当前应用的主界面
                         category:使得当前的应用程序可以显示在系统的桌面应用中
     2). 应用APK的
          

              
     3). Android系统的
             


     4). SDK的
              



  • 4. 三个应用开发工具
     1). ADB: 调试工具
          


     2). DDMS: eclipse中的debug调试工具:
      


     3). Log: 日志工具类
          



  • 5. 尺寸
       


结论:
1.如果给视图组件设置具体的长度或者宽度时,我们要选择使用dp为单位,而不要选择px为单位。
2.如果设置视图组件的字体的大小,我们选择sp,而不用dp.



  • 6.关于颜色

    关于颜色的设置: RGB : red  green  blue :范围00~ff
    红色:#ff0000
    绿色:#00ff00
    蓝色:#0000ff
    白色:#ffffff
    黑色:#000000




  • 7. 相关API:
         




  • 8. 应用练习:    


完成步骤:
1.创建一个安卓工程,修改AndroidManifest.xml中的minsdkVersion.
2.完成布局文件:xxx.xml文件。 <Button ></Button>         <Button />
3.完成业务逻辑:
          1)在XxxActivity的onCreate方法中加载布局文件:setContentView(R.layout.xxx);
          2)获取界面上对应的视图对象: findViewById(R.id.xxx)
          3)在试图对象上绑定指定的监听器: button.setOnClickListener(listener);
               必须重写监听器的抽象方法: onClick()

补充:
模拟器经常掉线,可以考虑的修改措施:
第1层次:reset adb
第2层次:将掉线的模拟器关闭,重新开启
第3层次:关闭掉线的模拟器,关闭eclipse,打开任务管理器将adb.exe进程删掉。然后重启Eclipse和模拟器






02_四大应用组件之Actvity

  • 1. Activity的理解:



  • 2. Intent的理解

关于IntentFilter


  • 3. Intent的使用:(创建、携带数据、读取数据)
1.创建:
     显式意图: Intent intent = new Intent(Context context,Class clazz);
     隐式意图:Intent intent = new Intent(String action);

2.携带数据:
     intent.putExtra(String key,Xxx value)
     intent.setData(Uri uri);
3.读取数据:
     intent.getXxxExtra(String key);
     

在Intent内部维护了一个HashMap<String,Objec>


  • 4. Activity的使用:(声明、启动、结束)
1.声明(如何创建一个Activity)
     ①创建一个继承于Activity的子类
     ②在AndroidManifest.xml文件中注册此组件。 <activity name="全类名" label=""> </activity>
     ③在res-layout-提供一个布局文件:xxx.xml
     ④ 在Activity的子类中重写的onCreate()中加载布局文件:setContentView(R.layout.xxx);

2.启动:
     一般启动: startActivity(Intent intent)
     带回调的启动: startActivityForResult(int requestCode,Intent intent)
               >接收回调数据的回调方法: onActivityResult( int requestCode, int resultCode, Intent data)

3.结束:
     一般结束:finish();
     带结果的结果:setResult(int resultCode ,Intent intent);
                             finish();

  • 5. Activity的生命周期
  



  • 6. TaskStack和lauchMode
     TaskStack任务栈结构:

关于Activity的启动模式:LaunchMode
在AndroidManifest.xml中的<Activity>的属性中设置启动模式。



  • 总结:设置监听的四种方式:
以给Button设置点击的监听为例:
方式一:提供一个接口的匿名实现类的匿名对象
btn.setOnClickListener(new View.OnClickListener(){
     public void onClick(View v){
          //点击button需要完成的操作
     }
     
});

方式二:
btn.setOnClickListener(this);
接着需要当前的Activity实现View.OnClickListener接口,需要当前的Activity重写onClick(View v){}

方式三:
在布局文件中,声明<Button>时,提供一个属性:onClick= "call";
回到布局文件对应的Activity中,提供一个方法:public void call(View v){ }


方式四:提供一个接口的匿名实现类的对象
在当前的Activity中声明一个属性:
private View listener = new View.OnClickListener(){
     public void onClick(View v){
          //点击button需要完成的操作
     }
};
然后
btn.setOnClickListener(listener);


——————————————————————————————————
考虑一下回调方法的参数的判断:
方式一:
if(v == btn1){

}else if(v == btn2){

}...

方式二:
switch(v.getId()){ //byte short char int String 枚举
case R.id.btn1:

     break;
case R.id.btn2:

     break;
....
}


  • 7. 应用练习:  打电话与发短信
          
     1). 功能描述:
1) 点击”打电话”: 进入拨号界面
2) 长按”打电话”: 直接拨打电话
3) 点击”发短信”: 进入编辑短信界面
_____________________________________________
4) 长按”发短信”: 直接将短信发送出去

     2). 技术点: 
         ① 布局的搭建。在ViewGroup中还可以嵌套ViewGroup
         ② 给必要的视图对象设置点击或长按的监听事件
         ③ 如何在当前应用中调用其它应用。 需要使用隐式意图。
         ④ 数据的携带。putExtra(String key,Xxx value)  (--->Xxx getXxxExtra(String key)) ,setData(Uri uri);
         ⑤ 权限的声明:需要在功能清单文件中,设置当前应用的权限。

     3). 总结:
          1). 实现一个简单功能的应用的步骤:
                  ①创建一个应用,修改一下minsdkVersion
                  ②完成布局的搭建
                  ③回到Activity中,加载布局文件:setContentView(R.layout.xxx)
                  ④获取并初始化视图对象 并对必要的视图对象设置监听
                  ⑤完成监听需要做的相应的功能

          2). 使用隐式意图启动系统应用的界面
              首先打开要启动的某一个应用的界面A,通过logcat,使用ActivityManager进行过滤,查看打开的当前界面的信息:当前的Activity类以及所声明的包名。 
               其次,找到应用程序的源码,在其功能清单文件中,搜索当前的Activity,找到其声明的<intent-filter>中的action。
               最后,在需要通过某个界面启动A的界面中,创建一个隐式意图,使用找到的action。启动一个新的Activity即可。

          3). 权限: 
     <!-- 拨打电话的权限 -->
     <uses-permission android:name ="android.permission.CALL_PHONE" />
     <!-- 发送短信的权限 -->
    <uses-permission android:name ="android.permission.SEND_SMS" />

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页