用eclipse + ADT作为android开发工 具,可以说是很方便的,在HelloActivity小程序里我们就感觉到eclipse功能的强大。那么,我们可以用 eclipse来开发android源码吗?如果我们直接把android源码里一个工程导入eclipse,一般来说都会出现错误,说许多类库(包)找 不到。
今天找到关于怎样使用eclipse来开发android源码的官方文档:
...
用eclipse + ADT作为android开发工 具,可以说是很方便的,在HelloActivity小程序里我们就感觉到eclipse功能的强大。那么,我们可以用 eclipse来开发android源码吗?如果我们直接把android源码里一个工程导入eclipse,一般来说都会出现错误,说许多类库(包)找 不到。
今天找到关于怎样使用eclipse来开发android源码的官方文档:
...
本文将为大家介绍的是如何设置Android源码的编译环境,包括Linux下的配置。主要基于Android 1.0环境,希望对大家了解Android开发有所帮助。
本次编译过程主要参考官方文档(http://source.Android.com/download)和网上相关资料(如http://blog.csdn.net/liaoshengjiong/archive/2009/03/04/3957749.aspx)
编译环境:Ubuntu8.10
1、安装一些环境
...用过Linux的朋友可能对开源的系统有一个非常好的印象。那么在日益成熟的手机操作系统中,有没有一款像Linux一样的开源系统呢?谷歌公司就退出了一款基于Linux平台的Android 操作系统来满足人们的需求。在这里大家可以先来了解一下Android文件系统的相关内容。
1、Android文件系统的结构
...Android作为一个移动设备的平台,其软件层次结构包括了一个操作系统(OS),中间件(MiddleWare)和应用程序(Application)。
根据Android的软件框图,其Android核心模块结构自下而上分为以下几个层次:
第一、操作系统层(OS)
第二、各种库(Libraries)和Android 运行环境(RunTime)
第三、应用程序框架(Application Framework)
第四、应用程序(Application)
...我们曾经在一篇文章中为大家详细介绍过Android文件系统的一些基本概念,相信大家已经可以充分了解这一知识点了。在这里大家将会继续对Android根文件系统的基本概念进行一个初步的掌握。
经过这几天在网上搜索关于Android根文件系统的相关资料,发现已经有很多高手 分析了Android的文件系统,这些高手多从不同的方面分析了其文件系统的结构和运行原理。我这里就写一下自己的理解。
...1.Drawable的使用
最经常会处理Drawable作为类型的资源回收绘制到屏幕上的东西; Drawable类提供了一个通用的API来处理一个基本的视觉资源,可以采取多种形式。(讲的有点抽象)讲白点就是获取res下的参数
例:改变TextView文字颜色-引用Drawable颜色常熟及背景色
values下的color.xml
Xml代码
...
- < ?xml version="1.0" encoding="utf-8" ?>
- < resources>
- < drawable name="darkgray">#808080FF< /drawable>
- < drawable name="white">#FFFFFFFF< /drawable>
- < /resources>
- < ?xml version="1.0" encoding="utf-8" ?>
- < resources>
- < drawable name="darkgray">#808080FF< /drawable>
- < drawable name="white">#FFFFFFFF< /drawable>
- < /resources>
Android操作系统中内置了SQLite数据库!我们在应用程序开发中都需要对数据库进行相关操作。在这里大家就一起来看看有关Android SQLite数据库的应用技巧,方便将来的应用。
SQLite本身就是一个很小型的数据库!
数据库存储的位置在data/data/<项目文件夹>/databases/
...Android创建sdcard步骤一、cmd进入tools目录输入mksdcard -l mycard 100M F:\mysdcard.img
1. mycard命令可以使用三种尺寸:字节、K和M。如果只使用数字,表示字节。后面还可以跟K,如262144K,也表示256M。
2. mycard建立的虚拟文件最小为8M,也就是说,模拟器只支持大于8M的虚拟文件。
3. -l命令行参数表示虚拟磁盘的卷标,可以没有该参数。
...昨天进行了GUI界面设计,感受了一下android初次设计的愉悦,今天接着学习其SQLite数据库试用,将昨天的例子中数据存到数库中,并读取查看一下。 具体看代码(原写的有点问题,再改写如下):
1) Android数据库之库操作类:
...
- package com.topsun;
- import android.content.Context;
- import android.database.Cursor;
- import android.database.sqlite.SQLiteDatabase;
- import android.util.Log;
- public class DBHelper {
- private static final String TAG = "UserDB_DBHelper.java";
- private static final String DataBaseName = "UserDB";
- SQLiteDatabase db;
- Context context;
- public DBHelper(Context context) {
- this.open(context);
- }
- private void createTabel() {
- // TODO Auto-generated method stub
- String sql = "";
- try {
- sql = "CREATE TABLE IF NOT EXISTS TestUser (ID INTEGER
PRIMARY KEY autoincrement, NAME TEXT, SEX TEXT, AGES INTEGER)";- this.db.execSQL(sql);
- Log.v(TAG, "Create Table TestUser ok");
- } catch (Exception e) {
- Log.v(TAG, "Create Table TestUser fail");
- } finally {
- //this.db.close();
- Log.v(TAG, "Create Table TestUser ");
- }
- }
- public boolean save(String name, String sex, Integer ages) {
- String sql = "insert into TestUser values
(null,'" + name + "','" + sex- + "'," + ages + ")";
- try {
- this.db.execSQL(sql);
- Log.v(TAG, "insert Table TestUser 1 record ok");
- return true;
- } catch (Exception e) {
- Log.v(TAG, "insert Table TestUser 1 record fail");
- return false;
- } finally {
- //this.db.close();
- Log.v(TAG, "insert Table TestUser ");
- }
- }
- public Cursor loadAll() {
- Cursor cur = db.query("TestUser", new String[]
{ "ID", "NAME","SEX","AGES"}, null,- null, null, null, null);
- return cur;
- }
- public void open(Context context){
- if (null == db || !this.db.isOpen()){
- this.context = context;
- this.db = context.openOrCreateDatabase(this.DataBaseName,
- context.MODE_PRIVATE, null);
- createTabel();
- Log.v(this.TAG, "create or Open DataBase。。。");
- }
- }
- public void close() {
- db.close();
- }
- }
- package com.topsun;
- import android.content.Context;
- import android.database.Cursor;
- import android.database.sqlite.SQLiteDatabase;
- import android.util.Log;
- public class DBHelper {
- private static final String TAG = "UserDB_DBHelper.java";
- private static final String DataBaseName = "UserDB";
- SQLiteDatabase db;
- Context context;
- public DBHelper(Context context) {
- this.open(context);
- }
- private void createTabel() {
- // TODO Auto-generated method stub
- String sql = "";
- try {
- sql = "CREATE TABLE IF NOT EXISTS TestUser
(ID INTEGER PRIMARY KEY autoincrement,
NAME TEXT, SEX TEXT, AGES INTEGER)";- this.db.execSQL(sql);
- Log.v(TAG, "Create Table TestUser ok");
- } catch (Exception e) {
- Log.v(TAG, "Create Table TestUser fail");
- } finally {
- //this.db.close();
- Log.v(TAG, "Create Table TestUser ");
- }
- }
- public boolean save(String name, String sex, Integer ages) {
- String sql = "insert into TestUser values
(null,'" + name + "','" + sex- + "'," + ages + ")";
- try {
- this.db.execSQL(sql);
- Log.v(TAG, "insert Table TestUser 1 record ok");
- return true;
- } catch (Exception e) {
- Log.v(TAG, "insert Table TestUser 1 record fail");
- return false;
- } finally {
- //this.db.close();
- Log.v(TAG, "insert Table TestUser ");
- }
- }
- public Cursor loadAll() {
- Cursor cur = db.query("TestUser", new String[]
{ "ID", "NAME","SEX","AGES"}, null,- null, null, null, null);
- return cur;
- }
- public void open(Context context){
- if (null == db || !this.db.isOpen()){
- this.context = context;
- this.db = context.openOrCreateDatabase(this.DataBaseName,
- context.MODE_PRIVATE, null);
- createTabel();
- Log.v(this.TAG, "create or Open DataBase。。。");
- }
- }
- public void close() {
- db.close();
- }
- }
熟悉Android操作系统的朋友都知道,开发Android应用程序基本上使用的都是Java语言。那么要想灵活的应用这一系统,就应当熟悉其中的Android Java包的各种功能。一般的JAVA应用中,如果需用引用基础类库,通常需要使用如下的方式:
...
- import javax.swing.*;