当前位置:首页 > 第一行代码Android学习笔记完全版
五、网络编程最佳实践——java的回调机制 ..................................................................... 66 第十一章 LBS ............................................................................................................................... 68 附录:Git的高级用法................................................................................................................... 69
一、分支用法 ......................................................................................................................... 69 二、与远程版本库协作 ......................................................................................................... 70 第十二章 传感器 ........................................................................................................................... 71 第十三章 Android高级技巧 ........................................................................................................ 71
一、全局获取Context的技巧 .............................................................................................. 71 二、使用Intent传递对象 ..................................................................................................... 72
1、Serializable方式 ....................................................................................................... 72 2、Parcelable方法 ......................................................................................................... 72 三、定值自己的日志工具 ..................................................................................................... 73 四、调试Android程序 ......................................................................................................... 74 五、编写测试用例 ................................................................................................................. 74
1、创建测试工程 ........................................................................................................... 74 2、进行单元测试 ........................................................................................................... 75
第十四章 实战 ............................................................................................................................... 75
第一章 Android系统
1.1 安卓系统架构
Linux Kernel: 各种底层驱动
Libraries : Runtime Libraries, Dalvik VM, 各种库支持,数据库,3D绘图,浏览器内核 Application Framework: API,各种manager Applications
1.2 Android 项目中的资源
src: 各种java程序在此,包括主程序
gen: 最重要的是R.java,所有res资源都在这里编号,通过R.xx.xx或@xx查询 res: 各种资源都在这里,包括drawable, layout, values等
另外还有menifest文件,统筹兼顾全局的,Android四大组件都要在此注册。
第二章 Activity
Activity是包含用户界面的组件,用于和用户进行交互。
一、创建Activity步骤:
1、首先,创建没有Activity的application,发现src文件夹是空的。手动创建一个包com.example.demo1activity,在包中添加一个class,MainActivity.java。 要使用activity,extents Activity。此时,重写Activity的onCreate()方法。 2、此时,只有activity,用户是不可见的。因此,需要在上面添加layout和view。在res?layout中添加一个Android XML file,可以在该xml文件中创建布局。添加诸如TextView/Button等常用控件。
3、此时,需要将创建的layout文件加载到activity中,在第一步创建的MainActivity中onCreate()方法中,使用setContentView(R.layout.myactivity)将布局加载进来。
4、所有四大组件的使用,都需要在AndroidManifest.xml文件中注册。 注册方法为:
在
则需要添加
android:name=\ android:label=\ 二、采用Intent切换activity 1、显式Intent 首先,按照上面的步骤重新创建一个SecondActivity(记得注册),采用Intent实现跳转 Intent intent = new Intent(MainActivity.this, SecondActivity.class); startActivity(intent); 2、隐式Intent 隐式Intent并不能实现直接跳转,需要指定两个条件(intent-filter):action和category。 如果在intent-filter中指定category为default的category,即android.intent.category.DEFAULT,则只需满足action条件即可。 intent-filter在注册activity时添加,注册方法如下: 跳转方法为: Intent intent=new Intent(\ startActivity(intent); intentfilter中只能有一个action,但可以有多个category,满足其中一个category即可。 3、隐式Intent的其他用法 使用隐式intent,不但可以打开自己编写的activity,还可以打开系统编写的activity,比如浏览器,打电话等。 打开浏览器: Intent intent=new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse(\ startActivity(intent); 解释: Intent.ACTION_VIEW是系统内置的动作,打开浏览器; setData()将一个Uri对象传入intent,用于指定该intent正在操作的数据,这些数据都是用Uri.parse()将字符串转换为Uri产生的。 在intent-filter中,添加标签,用于精确指定该activity能响应的数据类型,包括 android:scheme用于指定数据的协议部分,比如http。 该方法还可以打电话、显示地理位置等。 三、Intent传递数据 1、向下一个activity传递数据 在头一个activity中,使用putExtra()将数据传入intent 在下一个activity中,使用getIntent()获得传递来的intent,然后使用getStringExtra()获得传递来的数据。 2、返回数据给上一个activity 在上一个activity中,不采用startActivity(),而采用startActivityForResult(intent, 1)。其中,1为requestCode,用于之后判断是不是自己发送出去的intent。 在下一个activity中,建立新的intent,然后将data利用intent.putExtra()放入intent, setResult(RESULT_OK, intent)放置result,其中RESULT_OK为resultcode,用于在上一个activity中分辨是哪一个activity返回的数据。最后,finish()。
共分享92篇相关文档