学习啦 > 学习方法 > 通用学习方法 > 学习经验 > Android入门篇-基础知识

Android入门篇-基础知识

时间: 威敏1027 分享

Android入门篇-基础知识

  对于Android新手来说,如何从零基础开始自学Android?下面学习啦小编分享Java入门篇的学习笔记,希望对学习android的朋友们有帮助。

  Android入门篇-基础知识

  一、eclipse我常用的快捷键

  1.、ctrl+shift+r:打开资源

  2、ctrl_shift+/ 注释

  3. ctrl+o:快速outline,神器啊

  4. ctrl+e:快速转换编辑器,神器啊

  5. alt+shift+r:重命名

  7. shift+enter及ctrl+shift+enter

  8. Alt+方向键

  9. ctrl+m 最大\小化编辑器

  10. ctrl+.:下一个错误及快速修改

  Ctrl+Shift+X 把当前选中的文本全部变味小写

  Ctrl+Shift+Y 把当前选中的文本全部变为小写

  Ctrl+Shift+F 格式化当前代码

  eclipse 断点调试快捷键

  F3 --跳到声明或定义的地方。

  F5 --单步调试进入函数内部。

  F6 --单步调试不进入函数内部,如果装了金山词霸2006则要把“取词开关”的快捷键改成其他的。

  F7 --由函数内部返回到调用处。

  F8 --一直执行到下一个断点。

  二、安装sdk错误

  SDK Manager:failed to install Warning! A folder failed to be renamed or moved.On Windows this typically means that a propram is using that folder>>>D:\android\android-sdk-windows\tools.When ready,press YES to try again.

  解决办法:

  1.进入sdk的temp文件夹,下载好后会有一个tools_r06-windows.zip(版本号可能会不一样)

  2.解压此文件,如解压成tools_r06-windows

  3.进入tools_r06-windows文件夹,将tools_r06-windows里的文件复制

  4.覆盖sdk根目录的tools文件夹中的文件

  三、sqllite操作

  运行起模拟器

  adb shell 进入linux命令行

  ls -l查看目录

  cd进入目录

  sqlite3 test.db操作test.db

  插入数据:

  SQLiteDatabase db = openOrCreateDatabase("test",

  Context.MODE_PRIVATE, null);

  String sql = "insert into role(id,name) values(?,?)";

  String[] values=new String[]{"11","系统管理员"};

  db.execSQL(sql, values);

  四、DDMS介绍

  DDMS 的全称是Dalvik Debug Monitor Service,为测试设备截屏,针对特定的进程查看正在运行的线程以及堆信息、Logcat、广播状态信息、模拟电话呼叫、接收SMS、虚拟地理坐标等等

  FileExolorer文件浏览

  EmulatorControl模拟向模拟器发送短信,声音。等

  五、android.os.NetworkOnMainThreadException

  android4.0后不能再主线程上执行下载需要使用异步

  需要新建一个线程执行Runnable中的操作,然后把结果发送给Handler

  1、新线程

  new Thread(runnable).start();

  2、执行下载操作

  Runnable runnable = new Runnable() {

  @Override

  public void run() {

  //执行下载操作

  Message msg = new Message();

  //发送结果

  handler.sendMessage(msg);

  }

  };

  private Handler handler = new Handler() {

  @Override

  // 当有消息发送出来的时候就执行Handler的这个方法

  public void handleMessage(Message msg) {

  try {

  //处理结果

  } catch (Exception e) {

  Log.e(e.getMessage(), e.toString());

  }

  }

  };

  2、当然要是真不想使用异步也可以直接下载的,需要设置下,怎么设置大家找下度娘。

  六、 java.net.SocketException: Permission denied (maybe missing INTERNET permission)

  在android中想操作文件,上个网,查看通讯录。啥的都需要开通相应的权限

  需要把对应授权加到AndroidManifest.xml中

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

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

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

  列几个,这块可以在android开发文档中查找其他的

  android.permission.ACCESS_CHECKIN_PROPERTIES 允许读写访问”properties”表在checkin数据库中,改值可以修改上传( Allows read/write access to the “properties” table in the checkin database, to change values that get uploaded)

  android.permission.ACCESS_COARSE_LOCATION 允许一个程序访问CellID或WiFi热点来获取粗略的位置(Allows an application to access coarse (e.g., Cell-ID, WiFi) location)

  android.permission.ACCESS_FINE_LOCATION 允许一个程序访问精良位置(如GPS) (Allows an application to access fine (e.g., GPS) location)

  android.permission.ACCESS_LOCATION_EXTRA_COMMANDS 允许应用程序访问额外的位置提供命令(Allows an application to access extra location provider commands)

  android.permission.ACCESS_MOCK_LOCATION 允许程序创建模拟位置提供用于测试(Allows an application to create mock location providers for testing)

  android.permission.ACCESS_NETWORK_STATE 允许程序访问有关GSM网络信息(Allows applications to access information about networks)

  android.permission.ACCESS_SURFACE_FLINGER 允许程序使用SurfaceFlinger底层特性(Allows an application to use SurfaceFlinger’s low level features)

  android.permission.ACCESS_WIFI_STATE 允许程序访问Wi-Fi网络状态信息(Allows applications to access information about Wi-Fi networks)

  android.permission.ADD_SYSTEM_SERVICE 允许程序发布系统级服务(Allows an application to publish system-level services).

  七、http操作

  八、操作XML之SAX

2668820