《第一行代码》个人学习总结

去年第一次看这本书的时候,连android四大组件都还不了解,作为入门书籍真是不错的,后来也开始关注作者csdn博客,也发现了很多前辈的学习心得,csdn是个好地方。

这一年来,也看了好多遍这本书,现在重新看,总结一下个人觉得好用的知识。

1、隐藏Activity标题栏的两种方法

a\java代码中隐藏,在加载布局xml之前,加入一句

requestWindowFeature(Window.FEATURE_NO_TITLE);

b\在AndroidManifests中,该Activity的Theme中设置一个NO_TITLE的主题,如 android:theme=”@style/NoTitle

2、使用隐式Intent,也有两种情况

a\是调用系统本身的隐式Intent,例如

Intent intent=new Intent(Intent.ACTION_VIEW);

intent.setData(Uri.parse(“http://www.google.com”));

则会自动调用系统自带的浏览器来打开网页,因为浏览器响应了动作 Intent.ACTION_VIEW

b\是自定义隐式Intent

在AndroidManifests中,想要他响应隐式操作的Activity中,设置intent-filter过滤器,具体如下

<intent-filter>

<action android:name=”com.example.ActivityTest.ACTION_START”/>

<category android:name=”android.intent.category.DEFAULT”/>

<category android:name=”com.example.ActivityTest.MY_CATEGORY”/>

</intent-filter>

然后在点击跳转按钮那里设置

Intent intent = new Intent(“com.example.ActivityTest.ACTION_START”);

intent.addCategory(“com.example.ActivityTest.My_CATEGORY”);

startActivity(intent);

即可实现隐式跳转,注意要自定义action name和category name

3、获取当前activity名称: getClass().getSimpleName();

4、自定义View

5\ListView 及自定义adapter,viewHolder优化效率

6、关于Broadcast Receiver

Broadcast注册的两种方式

a\静态注册:在AndroidManifests中注册

b\动态注册:在java代码中注册

自定义广播:标准广播,有序广播

本地广播(传播与接收都仅限本应用使用)

可用广播来实现多端登录强制下线功能

7、用匿名内部类实现Runnable接口

new Thread(new Runnable(){

@Override

public void run(){

}

}).start();

关于非主线程更新UI,和异步消息处理机制。Message,Handler,MessageQueue,Looper

更简单的实现方法,使用AsyncTask

还有services服务

8、网络编程HttpURLConnection,HttpClient

网络数据格式,XML和JSON, XML解析方法

9、多媒体,读取短信,联系人, 播放音乐 视频,调用摄像头拍照等

四大组件:Activity、Sevice、Broadcast Receiver、Content Provider

Intent常用:显式Intent、隐式Intent、带数据传递的Intent、带数据返回的Intent

Activity生命周期:onCreate(), onStart() , onResume() , onPause() ,onStop(), onDestroy() , 还有onRestart()

Activity的四种启动模式:Standard、SingleTop、SingleTask、SingleInstance

常用xml布局:LinearLayout, RelativeLayout, FrameLayout,TableLayout

数据持久化的几种方式:文件存储,SQLite数据库存储,SharedPreferences存储

自定义View,单元测试

发表评论

电子邮件地址不会被公开。 必填项已用*标注