A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© jmw 中级黑马   /  2015-8-19 21:53  /  121 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 jmw 于 2015-8-19 21:54 编辑

day01 - 快速入门
通信技术1G    模拟制式    只能进行语音通话.2G    GSM, CDMA  收发短信和邮件.2.5G  GPRS, EDGE 访问wap网络数据.(图片, 壁纸, 文字信息)3G    WCDMA(联通), CDMA2000(电信), TD-SCDMA(移动)  (发微博, 查看高清图片, 小电影.)3.5G  HSDPA, HSDPA+4G    TD-LTE     下载速度: 50Mb/s  = 6MB/s  上传速度: 10Mb/s = 1.2MB/s

100Mb/s != 100MB/s
bit
1 Byte = 8bit
100Mb/s = 12.5MB/s

虚拟机的区别
  • JVM: .java --> javac --> .class --> jar --> .jar
    架构: 堆栈
  • DVM: .java --> javac --> .class --> dx.bat --> .dex
    架构: 寄存器(cpu上一块高速的缓存)
Android项目的目录结构src/ 存放代码gen/ 存放自动生成文件的. R.java 存放res文件夹下对应资源的idlibs/ 当前工程所依赖的jar包.assets/ 放置一些程序所需要的媒体文件.bin/ 工程的编译目录. 存放一些编译时产生的临时文件和当前工程的.apk文件.res(resources)/ 资源文件.    drawable-xxx/ 存放程序所用的图片.    layout/ 存放android的布局文件.    menu/ 存放android的OptionsMenu菜单的布局.    values/ (应用程序所需要的数据. 会在R文件中生成id)        strings.xml 存放android字符串.        dimens.xml 存放屏幕适配所用到的尺寸.        style.xml 存放android下显示的样式.    values-sw600dp 7寸平板所对应的值    values-sw720dp-land 10寸平板所对应的值    values-v11 指定3.0版本以上的手机显示的样式.    values-v14 指定4.0版本以上的手机显示的样式.AndroidManifest.xml android应用程序的入口文件. 声明了android里边的组件. 和相关配置信息.project.properties 指定当前工程采用的开发工具包的版本proguard-project.txt 加密当前程序所使用.adb(android debug bridge)命令:
  • adb devices 列出所有的设备
  • adb start-server 开启adb服务
  • adb kill-server        关闭adb服务
  • adb logcat        查看Log
  • adb shell        挂载到Linux的空间
  • adb install <应用程序(加扩展名)> 安装应用程序
  • adb -s <模拟器名称> install <应用程序(加扩展名)> 安装应用到指定模拟器
  • adb uninstall <程序包名>
  • adb pull
  • adb push
  • emulator -avd <模拟器名称>
netstat -ano:查看占用端口的进程
打包安装过程(Run as Android Application ) :
  • 生成apk文件.
    • 生成.dex文件.
    • 资源索引表的生成resources.arsc.
    • 准备未编译文件.
    • 清单文件AndroidMenifest.xml文件转换成二进制.
    • 使用debug.keystore对整个应用程序进行打包签名.
  • 加载apk文件到模拟器中.
    • 把apk文件加载到/data/local/tmp/xxx.apk
  • 安装应用程序.
    • 把/data/local/tmp/xxx.apk文件, 剪切/data/app/包名-1.apk
    • 在/data/data/文件夹下以包名创建一个文件夹, 用于存储当前程序的数据.
    • 在packages.xml和packages.list文件中分别添加一条记录.

电话拨号器
功能:用户输入一个号码,点击拨打按钮,启动系统打电话的应用把号码拨打出去
1. 定义布局
  • 组件必须设置宽高,否则不能通过编译
    android:layout_width="wrap_content"android:layout_height="wrap_content"
  • 如果要在java代码中操作某个组件,则组件需要设置id,这样才能在代码中通过id拿到这个组件
    android:id="@+id/et_phone"
2. 给按钮设置点击侦听
  • 给按钮设置侦听
    // 通过id拿到按钮对象Button bt_call = (Button) findViewById(R.id.bt_call);// 给按钮设置点击bt_call.setOnClickListener(new MyListener());
3. 得到用户输入的号码// 得到用户输入的号码,先拿到输入框组件EditText et_phone = (EditText) findViewById(R.id.et_phone);String phone = et_phone.getText().toString();4. 把号码打出去
  • Android系统中基于动作机制,来调用系统的应用,你告诉系统你想做什么动作,系统就会把能做这个动作的应用给你,如果没有这个应用,会抛异常
  • 设置动作,通过意图告知系统
    // 把号码打出去// 先创建一个意图对象Intent intent = new Intent();// 设置动作,打电话intent.setAction(Intent.ACTION_CALL);intent.setData(Uri.parse("tel:" + phone));// 把意图告诉系统startActivity(intent);
  • 添加权限
    <uses-permission android:name="android.permission.CALL_PHONE"/>
短信发送器
功能:用户输入号码和短信内容,点击发送按钮,调用短信api把短信发送给指定号码
1. 定义布局
  • 输入框的提示
    android:hint="请输入号码"
2. 完成点击事件
  • 先给Button组件设置onClick属性
    onClick="send"
  • 在Activity中定义此方法
    public void send(View v){}
3. 获取到用户输入的号码和内容EditText et_phone = (EditText) findViewById(R.id.et_phone);EditText et_content = (EditText) findViewById(R.id.et_content);String phone = et_phone.getText().toString();String content = et_content.getText().toString();4. 调用发送短信的api//调用发送短信的apiSmsManager sm = SmsManager.getDefault();//发送短信sm.sendTextMessage(phone, null, content, null, null);
  • 添加权限
    <uses-permission android:name="android.permission.SEND_SMS"/>
  • 如果短信过长,需要拆分
    List<String> smss = sm.divideMessage(content);

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马