Android_01--Android入门+四大布局+点击事件+文件操作

来源:互联网 发布:linux中更改文件内容 编辑:程序博客网 时间:2024/06/10 08:37

01--Android架构 

  • 底层Linux核心的工作,安全管理、内存管理、进程管理、电源管理、硬件驱
  • Libraries:c代码库
 OpenGL:图形快速显示,游戏开发
 webkit:浏览器内核
  •  Android Runtime
 Dalvik VM:虚拟机,android代码运行在此虚拟机
 运行时调用Libraries C代码库
  •  Application Framework中间介,java代码,调用底层c代码
  •  Applications原生的应用程序:浏览器、桌面、联系人等  

02--Android开发环境的搭建

  1. JDK的安装和Java环境变量设置 
  2. 下载、解压ADT 
  3. 创建及使用模拟器

03--adb命令行操作  

       为了能在任意目录使用adb命令,需要将SDK目录下的platformtools文件夹路径和tools文件夹路径配置到path环境变量中。  
  •  adb:android debug briageandroid调试桥
  •  列出可以使用的android版本: android list targets
  •  列出可以使用的模拟器: android list avd
  •  启动模拟器:emulator –avd <模拟器名>
  •  显示已连接的设备:adb devices,显示内容:设备名,状态deviceoffline
  •  导入文件到手机:adb push <Windows源文件路径> <手机目标路径>
  •  从手机导出文件:adb pull <手机源文件路径> <Windows目录路径>
  •  安装程序:adb install <apk文件路径>
  •  卸载程序:adb uninstall <包名>
  •  重启adb: adb kill-serverabd start-server
  •  adb shell:来到模拟器linux系统的终端里,列出模拟器的目录结构:DDMSFile Explorer界面显示的目录结构一样
  •  ps:运行的进程
  •  kill -9 pid:杀死进程  

004--Android工程目录结构

  •  src:源代码。如果最初选择创建Activity,会有一个Activity的子类
  •  gen:系统自动生成的文件。R.java 中记录了项目中各种资源ID  BuildConfig.java 标记项目是否可以Debug
  •  Android Private Libraries   用来支持各个版本的类库
  •  assets:资源文件
  •  bin:编译后的二进制文件   包括class、资源文件、dexapk、清单文件等
  •  libs:工程中使用的库
  •  res:系统资源,所有文件都会在R文件生成资源ID
 drawable:图片
 layout:界面布局
 menu:菜单
 values:字符串、样式等数据
 anim:动画
 raw:原生文件
 drawable-hdpi:高分辨率的图片目录
 drawable-ldpi:低分辨率的图片目录
 drawable-mdpi:中分辨率的图片目录
 drawable-xhdpi:大分辨率的图片目录
 drawable-xxhdpi:超大分辨率的图片目录
  •  AndroidManifest.xml:清单文件
Android中的四大组件(ActivityContentProviderBroadcastReceiverService)都需要在文件中注册,程序所需的权限也需要在此文件中声明,例如:电话、短信、互联网、访问SD卡。
manifest节点:pakeage:是应用安装的路径data/data的目录,手机上的应用程序的不能有一样的包名/目录。
 manifest节点:
versionCode:应用程序版本号
versionName:应用程序版本名称
  •  proguard.cfg:用来混淆代码的配置文件,防止别人反编译
  •  project.properties:标记该项目使用SDK版本号,早期版本名为:default.properties  

005-Android程序打包安装过程


Android程序——编译打包——apk——签名——通过adb发布到设备上 


006--Android 入门案例 

案例-电话拨号 :
  1.  搭建界面需要组件:TextView(请输入电话号码)、EditText(xxx号码)、Button(呼叫此号码)
  2.  当点击Button时获取EditText中文本
  3.  使用Intent向系统内置的电话拨号器发送意图拨打电话
  4.  注册拨打电话权限android.permission.CALL_PHONE 

007--四大布局

  • LinearLayout(线性布局) 
android:orientation=“horizontal”表示水平方向
android:orientation=“vertical表示垂直方向 
android:gravity="right"的意思是在当前容器内的子元素右靠起的方式布局  
  • RelativeLayout(相对布局) 
ParentLeft:true;父窗体左边
ParentBottom:true;父窗体下边
android:layout_centerHorizontal="true" 使组件能够水平居中
android:layout_centerVertical="true" 使组件能够垂直居中
layout_below:指定某个组件,位于此组件的下方。 
  • TableLayout(表格布局) 
  • FrameLayout(帧布局) 
  • AbsoluteLayout绝对布局  

008--Android下的单位

  • dp  依赖设备像素,依据设备自动适应大小,推荐使用
  • sp   同dip/dp相似,会根据用户的字体大小偏好来缩放,专门用于设置字体的大

009--Android点击事件的四种写法

  1. 通过匿名内部类来实现
  2. 通过内部类来实现
  3. 由类文件去实现监听接口
  4. 在布局文件中注册事件 

010--测试

  • 常见测试分类 
  • Junit 测试框架 
需要在清单文件里配置: 
添加指令集(manifest节点下)
targetPackage:是测试目标包
指令集依赖jar包(application节点下
 

011-日志信息

  • 输出日志
 
在控制台中输入adb logcat,然后按回车键即可看到LogCat信息,如果需要终止按Ctrl+C键即可  
LogCat信息保存在文件中 
执行adb logcat >D:/a.txt,则将日志输出到D:/a.txt文件中。按Ctrl+C键终止日志的输出  
  • Logcat的日志等级
Log.v() Log.d() Log.i() Log.w() 以及 Log.e() 。根据首字母对应VERBOSEDEBUG,INFO, WARN,ERROR 
 

012--文件操作

  • Environment.getExternalStorageDirectory()获取当前SDCard
  • Environment.getExternalStorageState()方法获取SDCard当前状态
  • Context.openFileOutput(String name, int mode)可以获取一个文件输出流
  • Context.openFileInput(String name)可以获取一个文件输入流
  • context.getFilesDir().getAbsolutePath();获取应用路径data/data/应用包名/file  
  • getCacheDir().getAbsolutePath();获取缓存目录  /data/data/应用包名/cache  

  •     保存文件:

    context.getFilesDir()返回的路径为:/data/data/当前包名/files
    Environment.getExternalStorageDirectory()返回的路径为:/sdcard    其实/sdcard只是一个引用地址,真正的地址为/mnt/sdcard
    SDCard进行写入文件操作,需要在清单文件中添加权限:
    <uses-permission
    android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    
  •     XML解析&序列化
XML解析步骤:
    1. 获取XmlPullParser: XmlPullParser parser = Xml.newPullParser(); 
    2. 设置XmlPullParser 的参数: parser.setInput(in, "utf-8");
    3. 获取解析的文档的事件类型: int type = parser.getEventType();
    4. 具体判断一下解析的是哪个标签 
使用XmlSerializer 序列化器 生成xml的步骤
  1. 获取XmlSerializer实例 XmlSerializer serializer = Xml.newSerializer();
  2. 设置xmlserializer序列化参数      
  3. 开始写xml 的文档开头                             
  4. 写 xml 根节点                                                                             
  5. 循环写其他节点
  • SharedPreferences

Android平台给我们提供了一个SharedPreferences类,它是一个轻量级的存储类,特别适合用于保存软件配置参数。
使用SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/data/<package name>/shared_prefs目录下

保存:
private SharedPreferences sp;
sp = getSharedPreferences("itcast", Context.MODE_PRIVATE);
Editor editor = sharedPreferences.edit();//获取编辑器
editor.putString("name", "名称");
editor.putInt("age", 4);
editor.commit();//提交修改

getSharedPreferences(name,mode)方法:
第一个参数:用于指定该文件的名称,名称不用带后缀,后缀会由Android自动加上。
第二个参数:指定文件的操作模式,共有四种操作模式,这四种模式前面介绍使用文件方式保存数据时已经讲解过。如果希望SharedPreferences背后使用的xml文件能被其他应用读和写,可以指定Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE权限。
访问:
SharedPreferences sharedPreferences = getSharedPreferences("itcast", Context.MODE_PRIVATE);
String name = sharedPreferences.getString("name", "");
int age = sharedPreferences.getInt("age", 1);

getString()方法:
第二个参数为缺省值,如果preference中不存在该key,将返回缺省值

0 0
原创粉丝点击