Android项目的目录结构(Eclipse版)

  src:项目源代码文件夹

  R.java存放项目中所有资源文件的资源id,永远不要修改

  Android.jarAndroid的jar包,导入此包方可使用Android的API

  libs存放第三方jar包

  assets资源文件夹,存放视频或者音乐等较大的资源文件,没有资源id,使用IO流读取

  bin存放编译打包后的文件

  res资源文件夹,在这个文件夹中的所有资源,都会有资源id,读取时通过资源id就可以读取。资源id中不能出现中文

    drawable存放图片资源

    layout布局文件夹,保存布局文件,Android中所有布局文件都是xml文件

    menu菜单配置文件夹,保存菜单的配置文件,决定菜单的样式

    values

      strings字符串资源文件,用来定义字符串资源的

      dimens长度资源文件,用来定义长度资源

      style样式和主题资源文件

Android的配置文件(清单文件)

  清单文件中指定应用的包名作为应用在系统中的唯一识别,比如 package="org.eniac.helloworld" ,则该应用生成的文件都会存放在此路径下:data/data/org.eniac.helloworld

  用versionCode指定应用的版本号

  Android的四大组件在使用前全部需要在清单文件中配置

  具有以下子标签的Activity就是入口Activity

<intent-filter>
<action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

安装路径

  系统应用保存路径:system/app

  第三方应用保存路径:data/app

DDMS(Dalvik Debug Monitor Service,Dalvik调试监控服务)

  adb(android debug bridge),即安卓调试桥,用建立开发环境和Android设备之间的连接。常用的adb指令如下:
    

    adb start-server:启动adb进程

    adb kill-server:杀死adb进程

    adb devices:查看当前与开发环境连接的设备,此命令也可以启动adb进程

    adb install XXX.apk:向设备中安装apk

    adb install -s 设备编码 XXX.apk:向指定设备中安装apk,设备编码通过adb devices查看

    adb uninstall 应用包名:卸载设备中的应用

    adb push 文件路径/文件名 sdcard/文件名:把电脑上的文件“推”到手机SD卡上

    adb pull sdcard/文件名:把手机SD中的文件“拉”到电脑上

    adb shell:进入linux命令行

    ls:罗列出当前目录下的所有文件和文件夹

    ps:罗列出当前系统运行的所有进程

    netstat -ano:查看系统的端口占用情况

电话拨号器

  功能:用户输入一个号码,点击拨打按钮,启动系统打电话的应用把号码拨打出去

  1 定义布局

    1.1 组件必须设置宽高,否则不能通过编译

android:layout_width="wrap_content"
android:layout_height="wrap_content"

    1.2 如果要在java代码中操作某个组件,则组件需要设置id,这样才能在代码中通过id拿到这个组件

android:id="@+id/et_phone"

  2 给按钮设置点击监听

Button bt_call = (Button) findViewById(R.id.bt_call);   // 通过id拿到按钮对象
bt_call.setOnClickListener(new MyListener());     // 给按钮设置事件监听器

  3 得到用户输入的号码

// 先拿到输入框组件,在调用getText()方法
EditText et_phone = (EditText) findViewById(R.id.et_phone);
String phone = et_phone.getText().toString();

  4 把号码打出去

    4.1 Android系统基于动作机制,来调用系统的应用。你告诉系统你想做什么动作,系统就会把能做这个动作的应用给你,如果没有这个应用,就会抛出异常

    4.2 设置动作,通过意图告知系统

// 先创建一个意图对象
Intent intent = new Intent();
// 设置动作,打电话
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:" + phone));
// 把意图告诉系统
startActivity(intent);

    4.3 添加权限

<uses-permission android:name="android.permission.CALL_PHONE"/>

点击事件的四种写法

第一种

  定义一个MyListener类实现onClickListener接口(使用内部类实现事件监听器)

Button bt1 = (Button) findViewById(R.id.bt1);
bt1.setOnClickListener(new MyListener());

第二种

  定义一个匿名内部类实现onClickListener接口(匿名内部类实现事件监听器)

Button bt2 = (Button) findViewById(R.id.bt2);
bt2.setOnClickListener(new OnClickListener() { @Override
public void onClick(View v) {
System.out.println("第二种"); }
});

第三种

  让当前Activity实现onClickListener接口(当前activity类作为事件监听器)

Button bt3 = (Button) findViewById(R.id.bt3);
bt3.setOnClickListener(this);

第四种(常用)

  给Button节点设置onClick属性

android:onClick="click"

  然后在Activity中定义跟该属性值同名的方法

public void click(View view){
  System.out.println("第四种");
}

短信发送器

  功能:用户输入号码和短信内容,点击发送按钮,调用短信api把短信发送给指定号码

  1 定义布局

    输入框的提示

android:hint="请输入号码"

  2 完成点击事件

    2.1 先给Button组件设置onClick属性

android:onClick="send"

    2.2 在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

SmsManager sm = SmsManager.getDefault();    // 调用发送短信的api
sm.sendTextMessage(phone, null, content, null, null);// 发送短信

  添加权限

<uses-permission android:name="android.permission.SEND_SMS"/>

  如果短信过长,需要拆分

List<String> smss = sm.divideMessage(content);

Android入门笔记的更多相关文章

  1. Android入门笔记(一)

    第一部分,Android开发环境的搭建 1.去http://www.oracle.com/technetwork/java/javase/downloads/index.html下载最新版本jdk并安 ...

  2. Android入门笔记(重制版)

    Android项目的目录结构(Eclipse版) src:项目源代码文件夹 R.java:存放项目中所有资源文件的资源id,永远不要修改 Android.jar:Android的jar包,导入此包方可 ...

  3. 「Android 开发」入门笔记

    「Android 开发」入门笔记(界面编程篇) ------每日摘要------ DAY-1: 学习笔记: Android应用结构分析 界面编程与视图(View)组件 布局管理器 问题整理: Andr ...

  4. Android NDK JNI 入门笔记-day04-NDK实现Hash算法

    * Android NDK JNI 入门笔记目录 * 开头 前面的学习,我们已经掌握了 NDK 开发的必备知识. 下一步就要多实践,通过创造问题并解决问题,来增加熟练度,提升经验. 日常开发中,经常会 ...

  5. zxing学习笔记 android入门

    对于刚开始学习android开发的童鞋们来说,若有一个简单而又全面的android工程能来剖析,那就是再好不过了,zxing就是不错得例子.    zxing的源码可以到google code上下载, ...

  6. android 应用笔记

    android 应用笔记 android 应用笔记 小书匠 Android 综合教程 Android常用技巧 安卓系统架构 安卓源码开发 安卓驱动 Linux内核 安卓应用开发 Java 教程 tic ...

  7. 【转】Android开发笔记(序)写在前面的目录

    原文:http://blog.csdn.net/aqi00/article/details/50012511 知识点分类 一方面写写自己走过的弯路掉进去的坑,避免以后再犯:另一方面希望通过分享自己的经 ...

  8. ORMLite学习入门笔记

    ORMLite学习入门笔记 使用原始的SQLiteHelper来操作维护数据库有点过于繁琐,重复工作量较大.所以会想到使用一个比较方便的ORM来维护我们本地的数据库,各位业界前辈都给我推荐了ORMLi ...

  9. linux.linuxidc.com - /2011年资料/Android入门教程/

    本文转自 http://itindex.net/detail/15843-linux.linuxidc.com-%E8%B5%84%E6%96%99-android Shared by Yuan 用户 ...

随机推荐

  1. Struts局部异常与全局异常处理

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAowAAAG3CAIAAACxBJNyAAAgAElEQVR4nOy9z6tk15Ymdv4B0eRU8O

  2. Ubuntu 14.04 apt-get更换阿里云源

    https://blog.csdn.net/satomic/article/details/78997611

  3. 之手算KD-tree

    转自:https://zhuanlan.zhihu.com/p/27453420 本文来源于Machine Learning: Clustering & Retrieval | Courser ...

  4. move_base

    1>准备导航所需要的包. a.ros-indigo-gampping :我们不需要修改包内的东西,所以直接安装可执行文件就好了. sudo apt-get install ros-indigo- ...

  5. 【vim】查找重复的连续的单词

    当你很快地打字时,很有可能会连续输入同一个单词两次,就像 this this.这种错误可能骗过任何一个人,即使是你自己重新阅读一遍也不可避免.幸运的是,有一个简单的正则表达式可以用来预防这个错误.使用 ...

  6. 八大最安全的Linux发行版,具备匿名功能,做服务器的首选,web,企业服务器等

    10 best Linux distros for privacy fiends and security buffs in 2017 Introduction The awesome operati ...

  7. ASP.NET Core Identity 实战(3)认证过程

    如果你没接触过旧版Asp.Net Mvc中的 Authorize 或者 Cookie登陆,那么你一定会疑惑 认证这个名词,这太正式了,这到底代表这什么? 获取资源之前得先过两道关卡Authentica ...

  8. lvs基本概念、调度方法、ipvsadm命令及nat模型示例

    LVS类型: NAT:-->(DNAT) DR TUN FULLNAT LVS的常见名词解释 CIP<-->VIP--DIP<-->RIP Direct Routing: ...

  9. SonarQube代码质量管理工具的升级(sonarqube6.2 + sonar-scanner-2.8 + MySQL5.6+)

    SonarQube升级注意事项 0. 前提条件 如果之前是使用sonarqube5.2 + sonar-runner-2.4 +MySQL5.5版本或者类似的组合. 安装方法请参照SonarQube代 ...

  10. expdp和impdp快速导出导入,不用创建虚拟目录

    expdp 和impdp不用创建虚拟目录:在cmd直接   expdp 用户名/密码 回车 就导出了,(如果提示输入用户名和密码就输入).再将导出的文件放在oracle默认的dpdump文件夹里面,然 ...