Android快速开发笔记

Android快速开发笔记
Android快速开发笔记

ANDROID快速开发笔记

Android快速开发1

1.每创建一个activity,都要继承Activity,复写onCreate方法,并且要在manifest中进行

注册;注意:复习onCreate后,马上在super.onCreate()下面加上

setContentView(https://www.360docs.net/doc/9a14543784.html,yout.xml),指定当前class的布局文件,否则会报错;

https://www.360docs.net/doc/9a14543784.html,yout下的xml是布局文件,com下的class文件是程序文件,string中存放所有文字类

对象等等;

3.使用控件,先要在布局文件的xml中声明,设定控件id用android:id=”@+id/ID”。然后

在class程序文件中调用控件,首先声明控件,然后荣格findViewById的方法。

例如:TextView textview = (TextView)findViewById(ID);

4.给上面的textview赋值,textview.getText(“”);可以直接写值,也可以使用R.string的形

式调用声明的字符串。

5.使用Intent进行activity切换(在class中编写)【向另外的activity中传值】

1)创建内部类

Class myButtonListener implemtes onClickListener(view){

Intent intent = new Intent();

【Intent.putExtra(“名称”,值); 】

Intent.setClass(当前activity.this,目标activity.class);

当前activity.this.startActivity(intent);

}

2)将监听器绑定到按钮上

myButton.setOnClickListener(new myButtonListener());

6.在另外的activity接收上一个activity传递过来的值

String 变量= intent.getStrngExtra(上一个activity传过来的名称);

7.获得当前act上用户输入的内容(取得editText控件中用户输入内容)

1)先同findById的方法得到取值控件;

2)String 变量= 控件.getText().toString();

8.编辑手机的MENU键功能

1)先在class中复写onCreateOptionsMenu(Menu menu)方法;

2)编辑方法中的内容,添加:

menu.add(0,menuId,1,”关于”);

menu.add(0,menuId,2,”退出”);

3)复写onOptionsItemSelectet(MenuItem item)方法,为菜单加上操作;

编辑判断:if(item.getItemId()==“menuId”){ 执行对应操作按钮的操作}

Android快速开发2——单选框、复选框、吐司提示的使用1.同样作为控件,单选框、复选框的使用仍然遵循:

1)在layout的xml中声明;

2)在程序文件的class中通过findViewById获取;

3)编辑并绑定适当的触发器;

以上操作只针对单选框和复选框,吐司提示类似web的alert,不用另外声明。

2.在layout的xml中声明单选框时,需要声明两个部分:

1)先声明一个,用来区分同一个界面上,不同的单选按钮组;

2)在每一个内部,声明需要个数的

3.在程序文件的class使用时,无论是声明的RadioGroup,RadioButton,CheckBox,每一

个控件都要进行声明并获得:

例如:private RadioGroup gp = null;

Private RadioButton rb1 = null;

Private RadioButton rb2 = null;

Private CheckBox cb = null;

rg = (RadioGroup)findViewById();

rb1=(RadioButton)findViewById();

rb2=(RadioButton)findViewById();

cb1=(checkbox)findViewById();

cb2=(checkbox)findViewById();

4.编写单选框部分的代码

和按钮的触发器不同,要直接在控件上编写绑定的代码,然后复写对应的接口代码。

单选按钮的触发器,绑定在RadioGroup上,

5.编写复选框部分的代码

复选框的监听器好单选框有类似的部分,但复选框是在每一个控件上加监听器,也就是当前页面上有几个复选框,就要声明并绑定几个监听器。

6.吐司提示框的使用

吐司提示框,用户在进行操作时,界面上闪现并慢慢消失的提示,使用时在操作的代码部分加上toast代码即可,例如:

Toast.makeText(参数1,参数2,参数3).show();

参数1:当前代码的activity名.this

参数2:希望在提示中显示的内容

参数3:Toast.LENGTH_LONG,也可以是Toast.LENGTH_SHORT

android快速开发3——状态条

一、状态条分多种,在xml的布局文件里进行设置,这里简述两种。

使用状态条,只需xml和class两个文件:

首先在布局文件的xml里声明控件

图中的style代表这个进度条的样子,这里的设置是横向滚动。注意visibility要设置成gone,这样默认加载时暂时不可见。

style="?android:attr/progressBarStyle"

第二种,只是这里有区别,这样设置是默认的一个不断旋转的圈。

然后在class中进行设置:

本例中为了执行方便,还声明了一个按钮控件。

首先声明变量,然后通过findViewById获取到控件。为按钮添加监听器,复习OnClick方法:

为了控制进度条的显示,要在开始声明一个私有变量,private int i=0;

在onClick中设置进度条的动作:

当i ==0时,点击开始使进度条能显示,当i<100时,不断的增加。直到>100会隐藏。

在else if中,bar1分两句,上一句是主进度,显示为实线,setSecondaryProgress为付进度,显示为虚线。

如果想调整进度条的尺寸,可以在xml中设置android:max=”需要的数值”,然后在class 中的else if里调整i

这样进度条的尺寸就可以根据设置灵活调整了。

综上所述,进度条的设置,关键在于首先在xml中要使其不可见,即GONE,然后根据动作不断增加显示,后面具体需要和线程配合使用。

Android快速开发4——ListView控件的使用ListView控件主要用来在屏幕上,以列表形式显示数据,帮助用户进行浏览操作。

使用方法相对复杂一些,主要包括class和两个布局文件xml。

首先编辑第一个xml文件(main)

基本就是要使用linearlayout进行一下嵌套,先竖着线性,然后每行里的内容再线性,此处贴出的例子均是确认正确的。注意设置的排列方向为垂直。Scrollbars表示当显示不全时,上下滚动。

第二个xml(user.xml)

这里实际上是每一行的布局,本例中在每一行中有两个textView显示内容,实际可根据情况选择其他控件。

最后编辑class文件,与普通activity不同的是,使用listView控件的activity要继承ListActivity,如下:

需要注意几个地方:

1 继承ListActivity这个方法

2 声明ArrayList和hashmap,并给其填充内容,具体情况可根据数据要求写循环操作。

3 声明SimpleAdapter,其中包含4个部分的内容,最后要setListAdapter。

最后如果要操作list中的记录,需要复写onListItemClick方法,如下:

根据实际需要,在这里添加对应的功能代码。

ANDROID快速开发5——使用

HANDLER控制进度条

1 基本使用

Handler被用来处理程序的异步操作,也就是用来编写多线程相关的程序。

基本的使用方法非常简单,核心代码只在class中编写,有时候为了增加开始和结束功能,会在布局文件xml中添加按钮控件,以下只针对class中具体的调用进行说明。

先要声明Handler,然后声明匿名内部类Runnable,实例化一个updateThread,再复写他的run方法,实际的操作写在这个run方法里。

这里的例子比较简单,就是执行一个日志打印,其中handler.postDelayed是每3000ms 执行一次updateThread。如果不想有延迟时间,直接用handler.post即可。

以上是handler执行的异步操作,还需要开始和结束按钮使线程开始和结束。

实际就是给两个按钮添加监听:

开始执行,就是把updateThread这个实例post进handler。当前为马上开始进行操作。

结束执行时,使用removeCallBacks将updateThread从handler中移除即可。

最后将两个监听器绑定到对应的按钮上,即可完成操作。

在实际项目中,根据用处和实际情况,在run中编写实际的代码即可。

2 使用Handler控制进度条的方法

首先在布局文件中声明一个横向进度条,同样通过findViewById获取,并声明一个按钮,添加应有的绑定,本例是使用按钮开始线程,由线程控制进度条的运行。

与普通的使用一样,先要声明匿名内部类

这里声明的内部类是updateBarHandler

Bar1.setProgress(msg.arg1),由一个消息信息控制进度条的运行,这个消息msg来源于run 中的代码。

同样的使用post把线程重新放进Handler实例中。

在Runnable中,首先声明一个i,并赋予初始值。

在run中:

Message msg = updateBarHandler.obtainMessage(); 一个消息队列的使用。

Msg.arg1 = i; 在消息队列的参数1中接收i。

然后每500ms让线程执行一次。

把msg放入到updateBarHandler的消息队列。

当i等于100时,将线程移除。

最后是按钮触发器的实际操作;

首先从控件不可见,到将执行线程放入handler,然后根据run的代码自动运行。

最后将触发器绑定到按钮上。

Android快速开发6——Handler与activity的线程分离

上一个文档的例子里,使用开始按钮和结束按钮控制屏幕后台的日志打印,直接调用run方法,实际上这个操作和activity是没有分开的,根据实际验证,这个线程的信息和activity的线程信息完全一样,因此说明二者互相干涉,没有做到真正的分离,但实际应用肯定不行,需要把复杂的耗时场的处理放在单独的线程中,因此就要使用下面介绍的方法。

本例只在class中编写代码,实际功能是利用一个线程在日志中打印字符串。系统加载后自动运行单独的线程执行操作。代码分下面两部分:

如上图:

加载了布局文件之后,声明HandlerThread对象,然后使用start方法,这样才能开始一个独立于activity的线程,并且只有在使用了start方法,后面才能使用looper。

MyHandler是后面声明的一个匿名内部类,实例化时使用handlerThread的getLooper()方法,保证当时间轮盘轮转到时,可以占用CPU时间。

然后再声明一个Message对象,同时从myHandler中接受消息信息。

在msg中传递数据,arg1和arg2用来传递简单的整型数据。还可以使用Bundle传递相对复杂的对象,对象是一组键值对,可以包含整数或字符串等常用内容。

声明Bundle对象,直接在b中put需要传递的内容。

setData(b),将b存入,sendToTarget,发送到目标,实际就是myHandler。

下面是第二部分,

声明匿名内部类,并继承Handler。

注意构造函数的使用,最后复写handleMessage的方法。

其中声明Bundle后,使用msg.getData接收来自之前sendToTarget的内容。

通过键值名称接收数据。B.getInt和b.getString。

根据当前实例,加载布局文件后直接执行,实际会放在其他操作之后,如此就可以使线程得到分离。

Android快速开发7——SQLite编程

SQLite是android框架自身包含的一个小型关系数据库系统,他支持基本的SQL语句以及基本的表操作功能,能够满足android编程中对数据的基本操作,是一种简便的数据解决方案。

SQLite本身占系统资源非常小,一共才几十kb,所以使用他处理数据,对系统资源本身的影响比较小,但是需要注意,出于各种原因,SQLite本身会存在一些让人莫名其妙的bug,故对于SQLite,仅限于处理简单的数据事务,不适合处理复杂的业务。以下通过几个截图,说明具体使用方法:

整个开发过程分几部分,首先xml布局文件中,要有基本的按钮,以及其他需要的控件,并绑定对应的监听器,具体方法不再赘述。

其次,需要两个class文件,一个是SQLiteActivity.class,对应主界面的java文件,另一个是DatabaseHelper.class,一个助手类文件。

首先看这个助手类:

首先:这个class需要继承一个SQLiteOpenHelper的方法,然后分别创建三个构造函数,其中三组构造函数的初始化赋值有所不同。

基本型包含全部的4个参数:context,name,factory,version

Context就是activity对象;

Name就是要操作的表名;

Factury暂时传null;

Version为操作数据库的版本,是一个递增正数,若数据库有增删改的变化,需要给这个值;只有context和name的构造函数,只用在初始化建表的时候;

包含context,name,version三个参数的构造函数,用在对表进行修改的时候;

紧接着要复写onCreate()和onUpgrade()两个方法:

onCreate()方法,包含的是建表等语句,只执行一次,使用两个参数的构造函数进行初始化。

onUpgrade()方法,在回调函数有版本号变化时执行,操作数据库的增删改操作。

以上基本的助手类就编写完成了。

下面是SQLiteActivity.class的编写:

首先要了解到,如何在命令行里操作sqlite库的文件。

在手机模拟器启动的情况下(不启动找不到),到adt工具的安装目录,找到sdk目录,进入“platform-tools”,找到adb.exe,执行adb shell,进入模拟器的linux环境,此时提示符变成“#”。

找到根目录的data文件夹,进入,再进入一层data目录,可以看到当前系统中所有开发和安装的com包文件。

当这个项目(com包中)执行过sqlite的建表文件,就会包含一个databases的目录,进入这个目录,就可以使用SQL语句直接操作表数据。

当进入了该目录后,执行sqlite3 dbname,进入sql模拟状态,操作方法跟其他SQL工具一致。

.schema,查看当前库里有哪些表。

实际代码操作如下:

继承基本的activity类,然后在onCreate()方法中获取按钮等控件的使用,添加对应的点击响应,这些内容和其他控件的使用没有区别。

1 下面是表的创建

在创建数据库按钮的匿名类中,复写onClick方法,回调函数,包含两个参数:SQLiteActivity.this,就是当前的activity,后面的“”中的,是创建的表名。

只有在添加了后面getReadableDatabase()方法并执行后,才真正创建一个新表。最后将这个操作绑定到对应的按钮点击监听器上即可。

2 更新表结构

更新表结构时,回调函数使用3个参数,增加一个版本号,这样会调用那个upgrade()方法,如果里面有表结构的修改语句,则会对表结构进行修改。

3 插入数据

插入数据的时候,先声明一个contentValues对象,实例化以后,向他put键值对,键名为表的字段,后面会根据字段类型自动判断传入的数据类型。

同样调用upgrade()的方法,之后使用db.insert将contentValues的值传入到这个表中,完成数据插入。

4 更新数据

类似于插入数据,同样使用contentValues对象,调用getWritableDatbase方法,后面用db.update执行操作。

“id=?”是条件语句

String*+,“1”-中,有几个“?”条件,这里就跟几个成员。

5 查询数据

查询数据,需要一个指针的方法,默认指向第一条记录的前面,使用cursor.moveToNext 向下移动,类似rs.next的用法。

在cursor获取查询结果时:

“user”是表名;

“String*+,“id”,”name”-”是获取的表的字段;

“id=?”是查询条件;

String*+,“1”-是查询条件的具体值,根据有几个条件,这里有几个成员;

最后的4个null,是查询时的几个设置,order by、group 等,具体可通过提示了解。

最后在获取具体值的时候,使用cursor得到要获取值的列的编号,但是获取编号又要使用该列的名称,因此完整的语句就是:cursor.getString(cursor.getColumnIndex(“name”));

Android studio 开发安装教程

Android studio 安装教程 目录 Android studio 安装教程 (1) 1.JDK 的安装和Java 环境变量的设置 (2) 1.1 JDK 下载地址: (2) 1.2 安装JDK (2) 1.3、环境变量设置 (4) 2.Android studio 的安装 (7) 2.1 开始安装打开android studio 安装文件 (7) 2.2 缓存文件夹配置 (9) 2.3 打开Android studio (11)

1.JDK 的安装和Java 环境变量的设置 1.1 JDK 下载地址: https://www.360docs.net/doc/9a14543784.html,/technetwork/java/javase/downloads/index.html JDK(Java Development Kit) 是整个Java 的核心,包括一系列Java 开发的东西,安装完毕需要配置一下环境变量。 1.2 安装JDK 安装JDK 本机是64 位,所以,选择jdk-7u21-windows-x64.exe 下载,下载完成后,进行安装

1.3、环境变量设置 1.3.1 我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量: 1.3. 2. JAVA_HOME JDK 的安装路径,这个环境变量本身不存在,需要创建,创建完则可以利用%JAVA_HOME% 作为统一引用路径,其值为:j d k在你电脑上的安装路径。 1.3.4 PATH PATH 属性已存在,可直接编辑。作用是用于配置路径,简化命令的输入,其值 为:;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin

Android开发者学习笔记——View、Canvas、bitmap

开发者学习笔记——View&Canvas BitMap、View以及Canvas是我们Ophone程序中常用到的类。本日以feisky的学习笔记呈现,通过实例讲解View&Canvas等等。 1. 从资源中获取位图 可以使用BitmapDrawable或者BitmapFactory来获取资源中的位图。 当然,首先需要获取资源: Resources res=getResources(); 使用BitmapDrawable获取位图 使用BitmapDrawable (InputStream is)构造一个BitmapDrawable; 使用BitmapDrawable类的getBitmap()获取得到位图; // 读取InputStream并得到位图 InputStream is=res.openRawResource(R.drawable.pic180); BitmapDrawable bmpDraw=new BitmapDrawable(is); Bitmap bmp=bmpDraw.getBitmap(); 或者采用下面的方式: BitmapDrawable bmpDraw=(BitmapDrawable)res.getDrawable(R.drawable.pic180); Bitmap bmp=bmpDraw.getBitmap(); 使用BitmapFactory获取位图 (Creates Bitmap objects from various sources, including files, streams, and byte-arrays.) 使用BitmapFactory类decodeStream(InputStream is)解码位图资源,获取位图。Bitmap bmp=BitmapFactory.decodeResource(res, R.drawable.pic180); BitmapFactory的所有函数都是static,这个辅助类可以通过资源ID、路径、文件、数据流等方式来获取位图。 以上方法在编程的时候可以自由选择,在Android SDK中说明可以支持的图片格式如下:png (preferred), jpg (acceptable), gif (discouraged),和bmp(Android SDK Support Media Format)。

一看就懂的Android APP开发入门教程

工作中有做过手机App项目,前端和android或ios程序员配合完成整个项目的开发,开发过程中与ios程序配合基本没什么问题,而android各种机子和rom的问题很多,这也让我产生了学习android和ios程序开发的兴趣。于是凌晨一点睡不着写了第一个android程序HelloAndroid,po出来分享给其他也想学习android开发的朋友,这么傻瓜的Android开发入门文章,有一点开发基础的应该都能看懂。 一、准备工作 主要以我自己的开发环境为例,下载安装JDK和Android SDK,假如你没有现成的IDE,你可以直接下载SDK完整包,里面包含了Eclipse,如果有IDE那么你可以滚动到下面选择U SE AN EXISTING IDE,然后安装SDK,如果你的SDK在安装时找不到JDK目录,你可以在系统环境变量里添加JAVA_HOME变量,路径为你的JDK目录,我的IDE是IntelliJ IDEA,都装好以后开始配置IDE增加SDK支持。 首先,打开Android SDK Manager把Android 4.0以上版本的未安装的都打勾装上,根据你个人实际情况,如果你只打算用自己的手机测试,那就把你机子系统一样版本的SDK包装上,下载时间有点长。

然后打开IDE创建新项目,IDEA比较智能,如果你装好了SDK,新建项目里就会出现Andro id的Application Module,选择后右边Project SDK为空,点击New按钮,找到SDK目录确定,下拉列表就会列出已经安装的各个版本的SDK,选择自己需要的版本,如果是第一次设置,IDE会提醒你先设置JDK,根据提示找到JDK目录即可。

新版Android开发教程+笔记七--基础UI编程1

封面

Android 基础UI编程1 更改与显示文字标签 TextView 标签的使用 ①导入TextV iew包 import android.widget.TextView; ②在mainActivity.java中声明一个TextView private TextView mTextView01; ③在main.xml中定义一个TextView ④利用findView ById()方法获取main.xml中的TextView mTextView01 = (TextView) findViewById(R.id.TextView01); ⑤设置TextV iew标签内容 String str_2 = "欢迎来到Android 的TextView 世界..."; mTextView01.setText(str_2); ⑥设置文本超级链接

android开发笔记

实现直接拒接来电 经过简单的google/baidu后,发现android没有现成的API去拒接电话。android可以通过注册BroadcastReceiver截取短信,因为这个broadcast是一个ordered broadcast,所以只要优先级比短信接收程序高,就可以提前终止掉这个broadcast receiver。 但是,电话呼入则没有类似的机制。不过,综合网上的一些资料,通过以下大体的步骤,则可以实现拒接电话: 1、注册broadcast receiver,监视手机状态: Java代码 1. 2. 3. 4. 5. 当手机接收到电话时,则会触发该broadcast receiver。 2、最重要的,就是取得可以控制电话的API。这些API貌似是android内部的接口,并未暴露。具体方式参见该帖子:https://www.360docs.net/doc/9a14543784.html,/u/20091226 ... d-586a278875c0.html 使用时需要手动添加import: Java代码 1.import com.android.internal.telephony.ITelephony; import com.android.internal.telephony.ITelephony; 同样的方式,在stackoverflow上也有人大致地提了下:https://www.360docs.net/doc/9a14543784.html,/questio ...

Android开发入门教程

第一篇:安装SDK 这里主要介绍如何安装Android的SDK开发包和配置开发环境。如果你还没有下载SDK,点击下面的链接开始。 Download the Android SDK 系统和软件配置要求 要通过Android SDK中提供的代码和工具进行Android应用程序的开发,需要一个合适的用于开发的电脑和合适的开发环境,具体要求如下: 支持的开发环境 Eclipse Eclipse 3.2,3.3(Europa) Android开发工具插件(可选) 其他的开发环境或者IDE JDK5.0或者JDK6.0(仅有JRE是不够的) 安装SDK 下载好SDK包后,将zip文件解压缩至合适的地方。在下文中,我们默认你的SDK安装目录为$SDK_ROOT 你可以选择将$SDK_ROOT/tools加入到你的路径中 1.Linux下,打开文件~/.bash_profile或者~/.bashrc,找到设定PATH环境变量的一行,将$SDK_ROOT/t ools的完整路径加入其中。如果没有找到设定PATH变量的行,你可以自己添加一行: export PATH=${PATH}:<你的$SDK_ROOT/tools的完全路径> 2.Mac下,在你的home目录中找到文件.bash_profile,和Linux的一样处理。如果还没有在机器上设定这个文件,你可以创建一个.bash_profile文件。 3.Windows下,右键点击【我的电脑】,选择【属性】,在【高级】页中,点击【环境变量】按键,在弹出的对话框中双击“系统变量”中的变量“Path”,将$SDK/tools的完全路径加入其中。 通过将$SDK/tools加入系统路径,在运行adb和其它一些命令行工具时就不需要键入完全路径名了。需要注意到是,当你升级了SDK后,如果安装路径有变动的话,不要忘记了更新你的PATH变量的设置,将其指向变动后的路径。 安装Eclipse插件(ADT) 如果你选择Eclipse作为Android的开发环境,可以安装一个专门为Android定制的插件:Android Deve lopment Tools(ADT),ADT插件集成

android手机测试总结(笔记)

2012年3月21日 系统测试(非功能性测试) 1、适配性测试 a) 手机的型号 b) 网络通信情况(2G\3G\WIFI\飞行模式、NET\WAP、中国电信、移动、联通) c) Android的版本号(Android 4.0、Android 2.3、Android 2.2、Android 2.1)主要是2.2\2. 3.*\ 4.0 d) 屏幕的分辨率(1280×720、960×640、960×540、854×480、800×480、640×480、640×360、480×360、480×320、400×240、320×240、220×176、) 2、功能模块测试(功能性测试) a) 根据预先编写的测试用例测试 3、异常测试(手机交互性事件) a) *按键打断,如:电源键、home键、音量键、返回键等;插拔数据线 b) 其他程序后台相互切换

c) *网络切换(2G\3G\WIFI\飞行模式、NET\WAP、中国电信、移动、联通、) d) 待机后是否能恢复程序和网络 e) 短信、电话和闹铃 f) 安装、覆盖安装和卸载 g) 有无SIM卡、有无SD卡 4、编写帮助文档或使用说明 2012-6-28 用户体验测试 1、界面 ①文字错误、图片不显示或显示不正确、缺少输入项、按钮的大小和点击效果 ②布局、图片和配色设计问题,测试人员很难进入 ③提示信息,提示信息语言准确简洁,有指导性。在应该提示的位置放入提示信息,比如程序需要接入网络,在无网络的情况下应给予提示 ④提示信息,提示信息的方式有很多,大概有弹出式和非弹出式两种,根据实际情况来区分

⑤阅读性,手机因输入方式和屏幕大小限时,目前以阅读为主要(除聊天软件),做好阅读是关键。文字字体、大小、颜色和背景颜色可调整,夜间模式 ⑥简洁,看看any.do就知道什么是简洁了,如穿着白纱美女的油画一般 ⑦输入法,输入法不能挡住输入框;回车可以跳转到下一个输入框 2、稳定性 ①网络,需要访问网络的程序,在网络不稳定的情况下,应能正常运行,不应出现意外退出和错误;如程序无法在该环境下运行,应提示用户 ②网络切换,同上 ③网络信号弱,同上 ④进程切换,在多进程切换中,应正常运行,并保持切换前页面,不应出现意外退出和错误 3、性能 ①程序进行某些功能时,不应使手机出现卡、顿等情况,视实际情况而定 4、安装 ①路径,可选择手机、SD卡

android开发学习笔记

Android开发学习笔记 by---- 三爷一、新建项目 Application Name: 应用程序名,即该应用的名称,日后在安卓市场上将显示该App名称,与项目无关。 Project Name:项目中的工程名(项目中的App名),注意,在项目中将使用该名称,该工程将被存放在下面命名的包下,命名时要注意规范。 Package Name:包名,格式为“com.自定义的包名.工程名”,其中包名自定义,但包名后的工程名必须和上面的Project Name一至。 Build SDK:选择android SDK的版本,建议选择1.6版本兼容范围广一点 Minimum Required SDK:该程序兼容的最低SDK版本,这里选择的版本必须跟上面选择的Build SDK版本一致。 Activity Name:第一个Activity的名称,随意命名,它将是程序的入口 Layout Name:为第一个Activity布局的xml文件名称,随意命名,建议与其对应的activity 名称有一定的关联性。 Title:上面设置的Activity的标题(这个在程序里都可以改) 二、项目文件夹说明 com.PackageName.ProjectName:该项目的文件夹,里面存放我们编写的源文件 gen:由ADT自动生成,其中包含有一个R.java的文件是用于声明res文件夹下的资源的句柄,程序将通过该文件来引用项目中的资源,该文件不要随意改动,。 Android 1.6:这里面是android的SDK包,程序中所有引用android的类都是从这个包里引用;这里的1.6为新建项目时选择的sdk版本号,这里的版本号会根据你新建项目时选择的版本号不同而不同。 bin:这个目录存放编译生成的android安装文件 assets:存放项目的资源,比如视频、音频、图片等较大的资源,注意该目录下的资源不会被生成句柄,所以只能通过路径来引用。

安卓开发学习笔记

1.avd:android virtual device 2.5554:模拟器端口号 3.ddms 观察线程thread 堆栈heap 、file explorer、emulator control(模拟打电话发短信) 4.Extras文件夹拓展工具 5.Adb.exe: android debug bridge 安卓调试桥 6.Adb常用指令:(配置环境变量) 1)adb devices:列出所有连接设备 2)Reset adb:重启adb调试桥 3)Adb kill-server:杀死adb调试桥 4)Adb start-server:启动adb调试桥 5)Netstat -ano:查看端口号 ----------------------------------------------------------------------------------------- 7.Platforms是系统文件 8.Assets是资产目录存放在该文件夹下面这些文件会被打包到应用程序的apk 9.Bin 编译后的文件目录 10.Gen自动生成的其下的R.java的内容也是通过修改其他文件内容而自动生成 11.Android.jar基于此jar包的开发 12.Project.properties 代表编译的版本可以修改 13.Libs 支持jar 包会被添加到Android dependence(依赖)目

录下 14.Res 资源目录 15.Drawable存放应用程序图标会自动生成一个id 在R文件里 1)H high 高分辨率 2)M middle 中分辨率 3)L low 低分辨率 4)X extra large 特大分辨率 5)Xx 超大分辨率 16. R文件的作用:自动编译生成res文件中的ID 17.Android manifest:应用程序的清单文件 程序的配置信息启动的图标应用程序名称包名版本号 -------------------------------------------------------------------------------------- 18.Android下软件安装的过程: 1)拷贝xxx.apk到/data/app/xxx-1.apk 2)在data/data目录下创建一个文件夹文件夹名称是当前应 用程序的包名。 3)软件卸载的过程是相反的 19.system/app下安装的是系统自带的应用 20.Windows下注册表是通过数据库实现;Android下的注册表是用xml文件实现

Android移动应用开发基础教程(微课版)-教学大纲

《Android移动应用开发基础教程(微课版)》教学大纲 学时:62 代码: 适用专业: 制定: 审核: 批准: 一、课程的地位、性质和任务 Android移动应用开发基础是普通高等学校计算机科学与技术专业的一门重要的专业基础课。通过本课程的学习,使学生能够在已有的计算机基础知识基础上,对Android移动应用开发有一个系统的、全面的了解、为掌握移动应用开发打下良好的基础;在系统理解和掌握Android移动应用开发基本原理的基础上,了解和掌握移动应用开发的基本原理和方法,具有设计和开发Android移动应用APP的基本能力。 Android移动应用开发是一门实践性非常强的学科,它要求学生在理解和掌握Android移动应用开发语言语法的基础上,充分利用实验课程,在计算机上动手完成程序的编写和调试。 二、课程教学基本要求 1.课程教学以Android移动应用开发方法为主,在教学过程中让学生掌握Android移动应用开发的基本原理和方法。 2.要求在教学过程中合理安排理论课时和实验课时,让学生有充分的使用在计算机上练习理论课程中学到的Android移动应用开发技巧和方法。 三、课程的内容 第1章 Android开发起步 让学生了解Android平台特点、体系架构和版本,掌握如何搭建Android开发环境,熟悉如何创建Android项目和Android编程的日志工具 第2章 Android核心组件:活动 让学生了解Android核心组件之一的活动是什么、活动生命周期,掌握活动基本操作、在活动中使用Intent、在活动之间传递数据、活动的启动模式。 第3章 UI设计 让学生熟练掌握线性布局、相对布局、通用UI组件、消息通知和菜单。 第4章广播机制 让学生了解广播机制,并熟练掌握如何使用广播接收器。 第5章数据存储 让学生熟练掌握Android文件存储、共享存储和SQLite数据库存储。 第6章多媒体 让学生熟练掌握播放多媒体文件、记录声音、使用摄像头和相册。 第7章网络和数据解析

Android智能电视APP开发笔记(一)

Android智能电视APP开发笔记(一) 1缘起 以小米盒子为代表的OTT机顶盒、智能电视的快速普及,快速推动了Android技术在机顶盒、智能电视领域的普及。既然都是用的Android操作系统,那么从技术上来说应该是大同小异的,当然和手机APP的应用相比,电视端的APP开发应该有一些都有的特点需要关注,我相信这样的特点应该不会太多。 写这个笔记的缘起在于一个生活上的小小不便,因为儿子正在读小学,每天早上起来都需要听英语,学校发的磁带真的是不方便,老的磁带机相信很少有人用了,虽然也给他买了一个步步高的复读机,不过没用几天就被搁置了。于是我在网上搜了个APP,在手机上很好用,可以直接翻看课文,也可以朗读课文,翻到哪页就朗读哪页,如果不翻动,就自动往下读,做的还是相当人性化的,但是这样一个新的问题产生了,每天早上我的手机就被我儿子霸占了,接到音响上听英语了,我要看个朋友圈啊啥的,就不方便了。 刚好家中有个OTT机顶盒,可以安装APP,就想着把这个APP装到OTT机顶盒上,结果发现完全无法使用,界面不对了,遥控器也响应不了了,完全无法使用啊,结论就是手机APP和TV APP还是有些区别的,须要作些微调适配的。 咋整呢?重新给写一个TV APP吧,为了夺回我手机的控制权,好歹哥以前也是开发工程师啊。 2Win7虚拟机创建 2.1 VMware Workstation安装 直接把开发环境安装在自己电脑上感觉不是太好,一个影响系统运行速度,二是免不了要装了卸,卸了装,把电脑运行环境搞得乱七八糟。所以决定还是在虚拟机环境中玩。 虚拟机当然选行业老大VMware了,下载Vmware workstation进行安装。没想到这玩意都升级到11.1版本了,这个世界真的是变化快啊。 从官网下载后再安装:

第一行代码Android学习笔记完全版

第一行代码Android学习笔记 感谢《第一行代码》,感谢郭霖博主,拯救我于水火。之前看视频学习Android,自以为已经小成了。在网易工作的朋友问了我几个问题,我就懵逼了。然后,遇到了《第一行代码》,终于把我带进了Android的世界。好书,真的会醉人啊。 这是学习第二遍时的部分笔记,以备后用。 这是第二版,比第一版增加了一些常用的方法。 hujunjob 于北航 2015.04.02

目录 第一章Android系统 (6) 1.1 安卓系统架构 (6) 1.2 Android 项目中的资源 (6) 第二章Activity (6) 一、创建Activity步骤: (6) 二、采用Intent切换activity (7) 1、显式Intent (7) 2、隐式Intent (7) 3、隐式Intent的其他用法 (8) 三、Intent传递数据 (8) 1、向下一个activity传递数据 (8) 2、返回数据给上一个activity (8) 四、activity的生命周期 (9) 1、活动状态 (9) 2、activity生存期 (9) 3、activity被回收数据保存 (11) 五、activity的启动模式 (11) 六、activity最佳实践 (11) 1、知道当前页面是哪一个activity (11) 2、随时随地退出程序 (11) 3、给每个activity都添加一个合适的启动方法 (13) 第三章UI (13) 一、常用控件 (13) 1、TextView (13) 2、Button (13) 3、EditText (13) 4、ImageView (14) 5、ProgressBar (14) 6、AlertDialog (14) 7、ProgressDialog (15) 二、基本布局 (15) 1、LinearLayout (15) 2、RelativeLayout (15) 3、FrameLayout (15) 4、TableLayout (15) 5、GridLayout (16) 三、自定义控件 (16) 1、添加自定义标题布局(无操作的) (16) 2、创建自定义控件 (16) 四、ListView (17) 1、最简单的Adapter (17) 2、定制ListView界面 (18)

Android官方开发教程中文版(二)

Android官方开发教程中文版 添加操作栏 添加操作栏 操作栏是你能为你的Activity实现的重要的设计元素之一,它提供了几种用户界面特性,使你的应用能够保持和其它应用的一致性,以便用户很快熟悉它。主要功能包括:1.用专门的空间为你的应用指定标识并且指示出用户在应用中的位置。 2.以可预测的方式访问重要的操作(如搜索) 3.支持导航和视图切换(使用选项卡或下拉列表) 本课程提供了关于操作栏基础知识的快速指南,要获得关于操作栏各种特性的更多信息,请参考“操作栏”指南。 设置操作栏 操作栏的最基本形式是为Activity显示标题以及在标题左边显示应用图标。即使是这种简单的形式,操作栏也有利于通知用户当前的位置,以及为你的应用保持一致性。 操作栏包括一个应用图标和Activity标题 设置一个基本的操作栏需要你的应用使用一个Activity主题并启用操作栏。如何获取这样一个主题取决于你的应用支持的最低Android版本。因此这节课根据你的应用支持的Android最低版本分为两个部分。 仅支持Android3.0及以上版本 从Android3.0开始(API级别11),操作栏被包含在所有使用Theme.Holo(或它的派生类)主题的Activity中,当targetSdkVersion或minSdkVersion的值大于等于11时,Theme.Holo 是默认主题。 因此,要在Activity中添加操作栏,只需简单地把这两个属性之一的值设为11或更高就可以了,如:

android学习笔记

1,android手势开发识别Gestrue开发 (https://www.360docs.net/doc/9a14543784.html,/tsdl2009/archive/2010/08/13/5810922.aspx) 经过了一段Android的学习,基本上了解了Android的基础知识。今天,我们来研究一下Android中特有的手势识别技术,即Gesture。首先,我从网上找了很多资料,具体归纳起来有2类:一类是触摸屏手势识别,另一类是输入法手势识别。 我们先来讨论一下第一类触摸屏手势识别,这个比较简单,就是利用触摸屏的Fling、Scroll等Gesture(手势)来操作屏幕,比如用Scroll手势在浏览器中滚屏,用Fling在阅读器中翻页等。在Android系统中,手势的识别是通过GestureDetector.OnGestureListener接口来实现的。下面通过我自己的一个动手实验来进行介绍。 首先,我们在Eclipse中创建一个工程,名称叫SignFilpDemo。然后,在src 中创建一个SignFilpDemo源文件。这个工程是基于Android1.6的。因为,在Android 1.6之前的版本中,需要开发者编写大量的代码才能实现某些更为复杂的Gestures功能。而在之后的版本SDk中嵌入标准的Gestures API库(Package: android.gesture),包括了所有与Gesture技术相关的操作:存储、加载、创建新Gestures和识别等。其工程结构如下: 图1 接着,我们知道Android的事件处理机制是基于Listener(监听器)来实现的,比如我们今天所说的触摸屏相关的事件,就是通过onTouchListener。因此,我们在源代码中要实现这个接口。另外,我们还要实现OnGestureListener接口,因为,那个手势的识别是通过GestureDetector.OnGestureListener接口来实现的。其中,onTouchEvent方法则是实现了OnTouchListener中的抽象方法,我们只要在这里添加逻辑代码即可在用户触摸屏幕时做出响应。在这里我们调用GestureDetector的onTouchEvent()方法,将捕捉到的MotionEvent交给GestureDetector 来分析是否有合适的callback函数来处理用户的手势。接下来,就是实现了以下6个抽象方法,其中最有用的当然是onFling()、onScroll()和onLongPress()了。下面介绍一下: (1)用户轻触触摸屏,由1个MotionEvent ACTION_DOWN触发,其源代码如下: public boolean onDown(MotionEvent e) { return false;

Android APP开发入门教程

Android APP开发入门教程 这篇文章主要介绍了Android APP开发入门教程,从SDK下载、开发环境搭建、代码编写、APP打包等步骤一一讲解,非常简明的一个Android APP开发入门教程,需要的朋友可以参考下。 工作中有做过手机App项目,前端和android或ios程序员配合完成整个项目的开发,开发过程中与ios程序配合基本没什么问题,而android各种机子和rom的问题很多,这也让我产生了学习android和ios程序开发的兴趣。于是凌晨一点睡不着写了第一个android 程序HelloAndroid,po出来分享给其他也想学习android开发的朋友,这么傻瓜的Android 开发入门文章,有一点开发基础的应该都能看懂。 一、准备工作 主要以我自己的开发环境为例,下载安装JDK和Android SDK,假如你没有现成的IDE,你可以直接下载SDK完整包,里面包含了Eclipse,如果有IDE那么你可以滚动到下面选择USE AN EXISTING IDE,然后安装SDK,如果你的SDK在安装时找不到JDK目录,你可以在系统环境变量里添加JAVA_HOME变量,路径为你的JDK目录,我的IDE是IntelliJ IDEA,都装好以后开始配置IDE增加SDK支持。 首先,打开Android SDK Manager把Android 4.0以上版本的未安装的都打勾装上,根据你个人实际情况,如果你只打算用自己的手机测试,那就把你机子系统一样版本的SDK 包装上,下载时间有点长。

然后打开IDE创建新项目,IDEA比较智能,如果你装好了SDK,新建项目里就会出现Android的Application Module,选择后右边Project SDK为空,点击New按钮,找到SDK 目录确定,下拉列表就会列出已经安装的各个版本的SDK,选择自己需要的版本,如果是第一次设置,IDE会提醒你先设置JDK,根据提示找到JDK目录即可。

Android Alarm学习笔记

设置一个Alarm需要更新一下数据。 1. update alarms.db 2. update com.android.alarmclock_preferences.xml 3. update Settings.System.NEXT_ALARM_FORMATTED for status bar 4. set Kernel RTC alarm or send a message if no driver 具体的函数调用如下所示: com.android.alarmclock.AlarmClock.onCreate() -> SetAlarm.onPreferenceTreeClick() -> SetAlarm.saveAlarm() -> Alarm.setAlarm() -> Alarm.setNextAlert() -> Alarm.enableAlert(ALARM_ALERT_ACTION)/saveNextAlarm(Settings.System.NEXT _ALARM_FORMATTED) -> android.app.AlarmManager.set() -> AlarmManagerService.set() -> AlarmManagerService.setRepeating -> AlarmManagerService.setLocked() -> android.app.IAlarmManager.set() -> RTC.save()// /dev/alarms Alarm闹铃的函数调用如下所示: RTC (WAKEUP) -> AlarmReceiver.onReceive(ALARM_ALERT_ACTION) -> AlarmAlert.onCreate() -> AlarmAlertWakeLock.acquire()/KeyguardManager.newKeyguardLock().disableKeyg uard() -> AlarmKlaxon.postPlay() -> AlarmKlaxon.KillerCallback().onKilled() -> AlarmAlert.dismiss() -> AlarmAlertWakeLock.release()/KeyguardManager.newKeyguardLock().reenableKey guard() DeskClock App中的code block说明如下: Alarm是描述闹钟的抽象类。 AlarmAlert处理闹铃过程中系统相关的事件,继承AlarmAlertFullScreen。AlarmAlertFullScreen显示闹铃界面,并处理闹钟界面上到控件消息。AlarmAlertWakeLock提供控制wakelock接口。 AlarmClock闹钟界面,包括闹钟列表、数字时钟、option菜单。 AlarmKlaxon是一个服务,提供闹铃和震动功能,如果一个闹铃fire,前面一个闹铃已经在闹来,则取消前面那个,闹后来者。 AlarmPreference闹铃文件。 ContentProvider维护闹钟表,字段包括_id、hour、minutes、daysofweek、alarmtime、enabled、vibrate、message、alert。 Alarms提供了操作闹钟的接口,相当于AlarmManager。enableAlert()设置一个闹钟,用的是PendingIntent到方式计算时间。RTC的设置在enableAlert()的am.set(AlarmManager.RTC_WAKEUP, atTimeInMillis, sender); RTC_WAKEUP表示该Alarm如果在关机的情况下来到,则会自动开机闹铃。 DeskClock桌面时钟到activity。其中包括了系统时间、日期、电池及天气等信息,其中天气信息是判断是否存在提供天气信息的app后,从数据库中读取当前的天气信息来更新。也就

Android学习笔记

Android学习笔记(by quqi99 MSN: quqi99@https://www.360docs.net/doc/9a14543784.html,)Android platform是一个用于开发移动程序的软件包,它包括了操作系统、中间件及一些关键应用。开发者能使用android SDK为Android platform开发应用,这些应用使用JA V A 语言书写,运行在虚拟机Dalvik(一个专为手机程序开发的基于linux内核的JA V A虚拟机)。 https://www.360docs.net/doc/9a14543784.html,/wiki/index.php?title=%E7%BF%BB%E8%AF%91%E4%BB%BB %E5%8A%A1%E9%A2%86%E5%8F%96&printable=yes https://www.360docs.net/doc/9a14543784.html,/forumdisplay.php?fid=2 1 什么是Android 1.1 Android的特性 ?应用框架,让一些基础设施得以重用 ?Dalvik虚拟机,专为开发移动程序优化 ?集成的浏览器,(基于WebKit引擎) ?优化的图形库,(2D图形库以及基于OpenGL ES 1.0规范的3D图形库) ?SQLite,用于结构化数据的存储,是一个数据库 ?多媒体支持,支持多种音频,视频格式(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) ?GSM技术(依赖具体硬件) ?Bluetooth, EDGE, 3G, WiFi(依赖具体硬件) ?Camera, GPS, compass, accelerometer(依赖具体硬件) ?丰富的开发环境(DEBUG工具,内存及性能工具,Eclipse的插件等) 1.2 Android的架构 Android操作系统的模块如下:

最新最全android开发视频教程

最新最全android开发视频教程 这是本站收集整理的android方面的开发视频教程,仅供大家下载,学习; ★视频目录★ 第一部分:百度云网盘存储 第01套尚学堂_高明鑫_全网最新、最牛、最全andriod视频教程 第02套Android之手机安全卫士开发教程+源码 第03套Android之自定义View(李科霈)开发教程+源码 第04套开发Android多媒体软件系列视频 第05套Android阿福多媒体播放器开发教程+源码 第06套Android系统的手机防盗软件的实现 第07套Android的软件管理器的开发教程 第08套Android地图搜索应用——美食天下 第09套大话优酷、酷六类视频网站Android客户端软件开发 第10套88个经典Android应用程序打包下载 第11套3G手机Android应用新浪微博项目开发教程 第12套UML和红孩子客户端独立项目开发讲解+源码 第13套安卓之微信项目开发实战教程+源码 第14套安卓之好友互动项目开发实战教程+源码 第15套Android之新浪微盾(殷凯)的开发教程+源码+资料 第16套传智播客Android之病毒与反病毒开发教程+源码 第17套Android社交分享平台——口袋微博 第18套北风网Android之新浪微博项目开发教程(沈大海)+资料+源码第19套北风网Android应用实战淘宝网手机客户端全程实录+源码 第20套Android系统的手机防盗软件的实现+源码 第21套基于Android的软件管理器开发教学视频 第22套开发Android移动互联网应用视频

第23套疯狂Java李韩飞老师Android项目新浪微博实战教程+PPT 第24套Android之豆瓣项目开发教程+源码 第25套Mars老师Android开发教学视频 第26套Android开发入门视频教程高清版 第27套《Android开发视频教程》全四季 第28套【张泽华】android视频教程 第29套Android开发视频教程 第30套Android开发基础视频教程 第31套手机安全卫士项目开发视频 第32套Android开发视频教程第三季 第33套Android开发视频教学视频教程第二季mars老师制作 第34套3G手机Android应用开发 第35套Android开发从零开始 第36套新浪微博Android OAuth2.0授权视频教程 第37套Sundy‘s Android高级应用开发课程共享版 第38套基于Android的通讯录开发教学视频 第39套腾讯微博Android客户端开发 第40套Android2.3源码下载 第41套8天快速掌握Android视频 第42套Google Android开发入门与实战视频 第43套老罗Android视频教程详解篇 第44套轻松几步学Android开发视频教程 第45套Android应用开发之高级应用 第46套Android学习资料大全 第47套Android深入浅出之基础篇 第48套android高级应用课程共享 第49套Android深入浅出 第50套老罗Android开发视频教程-安卓巴士 第51套黑马程序员_黎活明_Android核心基础视频教程 第52套新浪微博Android开发视频教程

android笔记

Android四大基本组件分别是: 1、活动(Activity); 2、服务(Service); 3、内容提供者(Content Provider); 4、广播接收器(BroadcastReceiver)。 Activity 答:应用程序中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。一般所指的活动是用户界面。一个应用程序可能有一个或者以上的活动存在,每个活动也都会有自己的View。 Service 答:一个Service 是一段长生命周期的,没有用户界面的程序,可以用来开发如监控类程序。服务是在背景长时间运行的应用组件,不和用户直接进行互动。 BroadcastReceiver 答:广播接收器 Android四大组件的详细讲解 Android应用程序由一些零散的有联系的组件组;Activities(活动)应用程序的显示层;Services(服务)Android应用程序中;Content(内容)提供共享的数据存储;Intents(意图)简单的消息传递框架;BroadcastReceivers(广播接收器;Notifications(通知)用户通知的框架;一、Activity详解Act Android应用程序由一些零散的有联系的组件组成,通过一个工程manifest 绑定在一起。在manifest中,描述了每一个组件以及组件的作用,其中有6个组件,它们是Android应用程序的基石: Activities(活动)应用程序的显示层。每一个画面对应于你的应用程序,将会是Activity类的扩展。Activity使用Views去构建UI来显示信息和响应用户的行为。就桌面开发而言,一个Activity相当于一张Form。你在这章中将会学习到更多关于Activities。

相关文档
最新文档