您现在的位置: 万盛学电脑网 >> 程序编程 >> 网络编程 >> 安卓开发 >> 正文

Android基础知识相关介绍

作者:佚名    责任编辑:admin    更新时间:2022-06-22

这是我们为大家提供的一篇介绍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中

列几个,这块可以在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).

七、模拟器10.0.2.2 代表127.0.0.1

经常在模拟器中测试下载文件啥的,用127.0.0.1不行啦

八、http操作

没有使用过java的人可以看下,我也是在网上找来的

package com.example.tools;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.net.HttpURLConnection;

import java.net.URL;

public class HttpDownLoad {

public String Download(String url) {

StringBuilder sb = new StringBuilder();

BufferedReader br = null;

String s;

try {

URL r = new URL(url);

HttpURLConnection con = (HttpURLConnection) r.openConnection();

br = new BufferedReader(new InputStreamReader(con.getInputStream()));

while ((s = br.readLine()) != null) {

sb.append(s);

}

} catch (Exception ex) {

ex.printStackTrace();

} finally {

try {

br.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

return sb.toString();

}

public InputStream GetInputStream(String url) {

try {

URL r = new URL(url);

HttpURLConnection con = (HttpURLConnection) r.openConnection();

InputStream input = con.getInputStream();

return input;

} catch (Exception ex) {

ex.printStackTrace();

return null;

}

}

}

九、操作XML之SAX

今天只跟大家分享下SAX这个轻量级的操作XML方法,他不像DOM那种把文件都加载到内存后再操作XML,我比较喜欢的

package cn.itcast.service;

import java.io.InputStream;

import java.util.ArrayList;

import java.util.List;

import javax.xml.parsers.SAXParser;

import javax.xml.parsers.SAXParserFactory;

import org.xml.sax.Attributes;

import org.xml.sax.SAXException;

import org.xml.sax.helpers.DefaultHandler;

import cn.itcast.model.Person;

public class SAXPersonService {

public List getPersons(InputStream inStream) throws Throwable

{

SAXParserFactory factory = SAXParserFactory.newInstance();//工厂模式还是单例模式?

SAXParser parser =factory.newSAXParser();

PersonParse personParser =new PersonParse();

parser.parse(inStream, personParser);

inStream.close();

return personParser.getPerson();

}

private final class PersonParse extends DefaultHandler

{

private List list = null;

Person person =null;

private String tag=null;

public List getPerson() {

return list;

<