junit 单元测试
java 注解 过时的 deprecated 压制警告 supresswarnings 覆盖父类的方法 overrideXML
作用
① server client之间传递数据
② 数据保存
③ 配置文件
<?xml version="1.0" encoding="utf-8"?> 必须在文档的第一行声明 <根元素 属性=''> <a> <b> 北京 </b></a> <c/> </根元素> <!----> <![cdata[]]> *格式良好xml文档 符合xml语法 有效的 符合约束文档的要求* ****
控制哪些标签可以出现 出现的次数 出现的顺序 标签的子元素的类型 哪些属性必须出现 可有可无 属性取值 是否可以重复 取值范围 dtd .dtd schema 格式 xml .xsd 对名称空间支持良好 namespace android 布局文件 配置文件 使用schema约束*获取工厂->获取解析器
dom 加载整个文档 树状结构 Document对象 可以修改文档sax 一个元素一个元素的解析 xmlreader 设置一个处理器 ContentHandler startDocument endDocument startElement endElement character xmlreader.parse();pull 一个元素一个元素的解析 setinput XMLPullParser.END_TAG, START_TAG START_DOCUMENT END_DOCUMENT TEXT* ①获取工厂 ②获取解析器 ③设置输入源 ④获取事件类型 int eventType = getEventType(); while(eventType != END_DOCUMENT){ switch(eventType){ getName()->获取到元素的名字 } eventType = parser.next(); } paser.next();->解析下一个元素 并且返回事件类型 json 纯移动端项目 可以传递数据 保存数据 优势节省流量 JSONObject {'key':'{}'} String int long double boolean NULL JSONObject JSONArray JSONArray[{},{}]
9 DDMS透视图
10 Android-helloworld
src java代码
gen 自动生成的 R.java 不要手动修改
Android4.3 创建项目是 指定compliesdk 用那个版本编译 最终就对导入那个android版本的jar包 Android Dependencies android的支持库 用来支持低版本的设备 使用较新的功能
assets 资产目录 这个目录里存放的文件不会被编译
bin 编译之后生成的文件都放到这个目录下
libs 项目依赖的jar包可以放到这个目录
res-> 资源目录
drawable 图片
layout 布局文件
values-> dimens.xml 尺寸的声明 strings.xml 项目中用到的字符串 styles.xm 项目用到的主题和样式AndroidManifest.xml 清单文件
标志一个android项目的唯一性
①项目的包名
②项目的签名 keystore 文件不要丢 密码要记住 有效期要设置的时间长一些
Android Debug Bridge adb android调试桥
打包生成的文件apk
要在控制台使用adb需要把 sdk/platform-tools/ 这个路径加到环境变量中
adb start-server 开启adb服务 adb kill-server 杀死adb服务 adb uninstall + 包名 卸载应用 adb uninstall com.itheima.helloworld adb install + apk所在的路径 安装应用 adb install C:\Users\beibei\Desktop\1.apk adb push + pc文件路径 + android设备的路径 把电脑上的文件推到设备上 adb push C:\Users\beibei\Desktop\hello.txt sdcard/ adb pull 设备上文件的路径 pc保存文件的路径 把android设备上的文件保存到电脑上 adb pull sdcard/hello.txt C:\Users\beibei\Desktop\1.txt adb shell 可以进入到linux命令行 执行linux命令 ls 列出所有文件 cd 进入到某个文件夹 rm 删除文件 cat 显示文件内容 mkdir 创建目录 adb shell 敲exit 可以返回windows命令行画UI user interface 画界面 layout->xml布局文件
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 2. xmlns:tools="http://schemas.android.com/tools" 3. android:layout_width="match_parent" 4. android:layout_height="match_parent" 5. tools:context=".MainActivity" > 6. 7. <TextView 8. android:id="@+id/textView1" 9. android:layout_width="wrap_content" 10. android:layout_height="wrap_content" 11. android:text="请输入手机号" /> 12. 13. <EditText 14. android:id="@+id/editText1" 15. android:layout_width="wrap_content" 16. android:layout_height="wrap_content" 17. android:layout_alignParentLeft="true" 18. android:layout_below="@+id/textView1" 19. android:hint="请输入电话号码" 20. android:ems="10" > 21. 22. <requestFocus /> 23. </EditText> 24. 25. <Button 26. android:id="@+id/button1" 27. android:layout_width="wrap_content" 28. android:layout_height="wrap_content" 29. android:layout_alignParentLeft="true" 30. android:layout_below="@+id/editText1" 31. android:text="拨打此号码" /> 32. 33. </RelativeLayout>对着UI写JAVA代码
public class MainActivity extends Activity { 2. private EditText et_text; 3. 4. // 当activty创建的时候 系统就会调用oncreate方法 5. //大部分初始化的工作都要在oncreate中进行 6. //初始化的工作包括: 调用setcontentView方法 把一个布局文件加载到屏幕上 7. //通过findviewbyId方法 把布局中要操作的控件通过代码的方式找到 8. 9. @Override 10. protected void onCreate(Bundle savedInstanceState) { 11. super.onCreate(savedInstanceState); 12. //把一个xml布局文件 画到手机屏幕上 作为这个activity的界面 13. setContentView(R.layout.activity_main); 14. //要找到输入框和按钮 15. et_text = (EditText) findViewById(R.id.editText1); 16. //找按钮 17. Button button = (Button) findViewById(R.id.button1); 18. MyonclickListener listener = new MyonclickListener(); 19. //给按钮设置点击事件 20. button.setOnClickListener(listener); 21. } 22. 23. private class MyonclickListener implements OnClickListener{ 24. 25. @Override 26. public void onClick(View v) { 27. //当按钮被点击的时候 就会走这个onclick方法 28. System.out.println("按钮被点击了"); 29. //获取用户在输入框的输入 edittext 有一个方法 getText可以获取用户的输 入 30. String input = et_text.getText().toString(); 31. //判断输入是否为空 TextUtils.isEmpty通过这个api可以判断字符串是否为空 或者长度为0 32. if(TextUtils.isEmpty(input)){ 33. //如果为空提示用户 输入不能为空 34. System.out.println("输入内容为空"); 35. //Toast 通过这个类可以弹出提示文字 弹出吐司 makeText方法三个参数 36. //第一个参数 上下文(context) MainActivity继承activity activity是Co ntext的子类 所以直接传activity的实例就可以了 37. //第二个参数 要弹出的文字 38. //第三个参数 要显示提示文字的时长 Toast.LENGTH_LONG 或者 Toast.LEN GTH_SHORT 39. //注意调用.show方法才能显示出这个提示文字 40. Toast.makeText(MainActivity.this, "电话号码不能为空", Toast.LENGTH _LONG).show(); 41. }else{ 42. //如果不为空就调用拨打电话的应用 43. System.out.println("拨打电话::"+input); 44. //创建一个意图 告诉系统我要干什么 45. Intent intent = new Intent(); 46. //给意图添加一个动作 打电话 47. intent.setAction(Intent.ACTION_CALL); 48. //给意图携带参数 uri 统一资源标识符 电话号码 49. Uri uri = Uri.parse("tel:"+input); 50. intent.setData(uri); 51. //调用打电话的应用 52. startActivity(intent); 53. } 54. } 55. } 56. } 部署到设备看效果 activity: activity是一个组件 用户可以通过这个组件 在屏幕上跟你的应用进行交互(手机上看到的界面都是activity)第四种写法
16 Android中常用布局
Linearlayout 线性布局 RelativeLayout 相对布局 FrameLayout 帧布局 (框架布局) TableLayout (表格布局)使用频率
RelativeLayout> LinearLayout> FrameLayout >TableLayout
17 Android中单位介绍
通过电话拨号器练习点击事件的四种写法★★★★★
