Android快速入门教程1

论坛 期权论坛 脚本     
匿名网站用户   2020-12-19 22:38   11   0


在开始前: 1

修改第一个APK 9

分析工程结构: 9

如何从当前activity跳转到新的activity并返回 12


图片可在附件中查看:

在开始前:

准备:

1、eclipse环境(网上很多相应的教程)

2、Android设备(建议实体设备)

注意点:

1、插入android设备后eclipse不能连接到相应设备(adb未能正常连接)。此种情况可以使用市面上一些pc端的手机辅助软件。360手机助手之类的(不要使用豌豆荚)打开adb(进程中查看)。然后再开启eclipse即可找到设备。也可以修改环境变量解决此问题(似乎不是很灵)

2、手机一定要打开调试模式(设置中设置此项)

3、长时间调试可以选择调试时不关闭背光


完成第一个apk

1、打开eclipse,先配置工作环境目录(图1)。如果以后使用别人的代码不要放在工作环境目录下,会导致导入失败。可以放在别的目录即可顺利导入别人的工程。

1

2、
点击ok后进入eclipse,选择file->new->androidapplicationproject。出现图2的界面。输入apk的名字,eclipse会自动输入别的选项,这里我们把PackageName改为com.test.firstapk。这里不改没关系,按照个人喜好就可以了。在下面分别对应了,最小需求的系统版本,目标系统版本,编译的系统版本(也就是最高支持的,当然是最新的),主题选项(选了这个ui会好看很多,所以默认选上吧)。

2


3、下一步进入工程配置,一般没特殊需求就默认就可以了。自动创建一个启动图标、一个activity等。

3


4、下一步后进入启动图标的配置选项,可以选择自己的图标,也可以使用文字。具体的定义试试就知道了。

4


5、下一步后进入之前选择了自动创建一个activity的种类选项。第一个为普通的activity视图(上栏一直存在),第二个为全屏的activity(边框会自动隐藏),第三个为左边有常驻菜单栏的activity。这里也只是一个模版并不是固定的,在里面还是可以根据自己喜好进行修改的。

5


6、配置activity的属性,activity的标签,layout的名字,导航模版(刚开始用none,别的模版都是用fragment(以后再说这个,刚开始接触从简单的开始,这个稍微麻烦一点点))。

6

7、
点击完成后,我们就创建了第一个activity,但是还未完成,我们需要配置一下运行选项。选择菜单栏中run->runconfigurations。弹出图7的对话框。选择FirstApk,点击target,选择Launchonallcompatibledevices/AVD’s中的Activitydevices。然后保存运行,选择我们的设备,点击ok后,就可以看到设备上启动你做的第一个activity

7


修改第一个APK

分析工程结构:

我们时常需要关注的是srcres文件夹以及AndroidManifrest.xml(配置文件)这几个。

Src下放置的是我们的packageclass(编写的程序都在这个下面,分为packageclass可以更好的管理代码,让层次更加清晰,有时间可以看看MVC结构)。

Res目录下放了所有的资源文件。Drawable为图片资源(可以放置适应各个屏幕的图片)。Layout放置的为各个activity以及视图(view)的布局文件。

Values则是一些文字引用,主题之类的文件。Menu则是按钮视图配置。


如添加一个TextViewButton以及button的响应:

1、在layout中的activity_main.xml中添加一个textviewbutton。如果是默认配置的话,看到的将是一个相对布局(RelativeLayout),如果是在固定的屏幕设备上的画,使用相对布局是相对容易对,但是如果考虑到设备兼容性(还是只能只用线性布局,最好的是根据不同的设备屏幕匹配不同的layout)。

layout添加的方式有两种,一种是基于可视的,一种是xml文件。一切从简开始,我们使用直观的可视添加。如图8所示。添加完成后,我们可以去xml中看看这两个空间的编号名称分别为textview1,button1,记下这两个编号(也可以自己指定)。这样,我们就在视图上添加了我们需要的,但是程序中我们并未进行处理,因此当我们点击运行后,设备上会出现但是并不能执行任何指令。

8


2、在程序中处理视图

publicclassMainActivityextendsActivity{

//这个是相当于指针还未实例化千万不能直接使用

//这里需要导入textview和button的class,eclipse会帮助你自动导入

TextViewtext1; //定义一个文本view

Buttonbtn1; //定义一个按钮

@Override

protectedvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main); //加载视图文件

text1=(TextView)this.findViewById(R.id.textView1); //获得具体的对象

btn1=(Button)this.findViewById(R.id.button1); //获得具体的对象

//添加一个按钮事件,将textview的文本改为“第一个apk

btn1.setOnClickListener(newView.OnClickListener(){

@Override

publicvoidonClick(Viewv){

//TODOAuto-generatedmethodstub

text1.setText("第一个apk");

}

});

}

@Override

publicbooleanonCreateOptionsMenu(Menumenu){

//Inflatethemenu;thisaddsitemstotheactionbarifitispresent.

getMenuInflater().inflate(R.menu.main,menu);

returntrue;

}

}


如何从当前activity跳转到新的activity并返回

1、在之前的工程里面的com.test.firstapk选择添加一个新的class。如图9,新建一个activity,名字为SecondActivity,继承Activity。点击ok后就可以看到一个新的activity已经建立好。

9


2、建立好activity后,我们还需要一个布局文件给activity使用。在目录layoutnew一个Androidxml。如图10File的名字不能使用大写,选择线性布局。

10

3、布局文件中分别添加progressbarseekbarButton

4、修改secondactivity的代码

publicclassSecondActivityextendsActivity{

Timertimer=newTimer(); //构建一个定时器

ProgressBarpbar1; //定义一个进度栏

SeekBarsbar1; //定义一个滑动栏

Buttonbtn1; //定义一个按钮

booleanautoRun=false; //手动改变进度栏还是自动改变标志

@Override

protectedvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.secondacivity); //加载视图文件

pbar1=(ProgressBar)this.findViewById(R.id.progressBar1);

sbar1=(SeekBar)this.findViewById(R.id.seekBar1);

/*添加滑动栏改变时,如果为手动修改状态则改变progressbar*/

sbar1.setOnSeekBarChangeListener(newSeekBar.OnSeekBarChangeListener(){

@Override

publicvoidonStopTrackingTouch(SeekBarseekBar){

//TODOAuto-generatedmethodstub

if(!autoRun)

{

pbar1.setProgress(seekBar.getProgress());

}

}

@Override

publicvoidonStartTrackingTouch(SeekBarseekBar){

//TODOAuto-generatedmethodstub

}

@Override

publicvoidonProgressChanged(SeekBarseekBar,intprogress,

booleanfromUser){

//TODOAuto-generatedmethodstub

if(!autoRun)

{

pbar1.setProgress(progress);

}

}

});

btn1=(Button)this.findViewById(R.id.button1);

/*切换手动自动模式*/

btn1.setOnClickListener(newView.OnClickListener(){

@Override

publicvoidonClick(Viewv){

//TODOAuto-generatedmethodstub

if(autoRun==false)

{

autoRun=true;

btn1.setText("手动");

}

else

{

autoRun=false;

btn1.setText("自动");

}

}

});

/*建立一个定时任务,如果允许自动运行,则自动增加progressbar*/

timer.schedule(newTimerTask(){

@Override

publicvoidrun(){

//TODOAuto-generatedmethodstub

if(autoRun)

{

inti=pbar1.getProgress();

if((i+1)<=100)

{

pbar1.setProgress(i+1);

}

else

{

pbar1.setProgress(0);

}

}

}},10,100);

}

@Override

protectedvoidonDestroy(){

//TODOAuto-generatedmethodstub

super.onDestroy();

//退出时一定要销毁进程

timer.cancel();

}

}

5、按照之前的方法在mainactivity中添加一个按钮并加入如下响应

btn2=(Button)this.findViewById(R.id.button2);

btn2.setOnClickListener(newView.OnClickListener(){

@Override

publicvoidonClick(Viewv){

//TODOAuto-generatedmethodstub

//启动一个新的activity

Intentintent=newIntent(context,SecondActivity.class);

startActivity(intent);

}

});

6、运行即可查看apk(运行后,第一个activity是木有问题的,但是我们忘了在AndroidManifest.xml中添加activity,当我们选择第二个activity的时候,杯具了,程序挂掉)

7、修改AndroidManifest.xml如下:

<?xmlversion="1.0"encoding="utf-8"?>

<manifestxmlns:android="http://schemas.android.com/apk/res/android"

package="com.test.firstapk"

android:versionCode="1"

android:versionName="1.0">

<uses-sdk

android:minSdkVersion="8"

android:targetSdkVersion="17"/>

<application

android:allowBackup="true"

android:icon="@drawable/ic_launcher"

android:label="@string/app_name"

android:theme="@style/AppTheme">

<activity

android:name="com.test.firstapk.MainActivity"

android:label="@string/app_name">

<intent-filter>

<actionandroid:name="android.intent.action.MAIN"/>

<categoryandroid:name="android.intent.category.LAUNCHER"/>

</intent-filter>

</activity>

<!--还需要添加一个activity才能正常启动-->

<activity

android:name="com.test.firstapk.SecondActivity"

android:label="@string/app_name"

></activity>

</application>

</manifest>

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:1136255
帖子:227251
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP