android项目组长负责,android手机应用开发(五)(组长:陈菲)

一、本周计划任务

本周继续延续上一周的内容,在

这个网址中练 习相关实验。

二、实验内容

1. 建立一个新工程,完成后结构树如图1所示。

图1 新建工程的结构树

2. 编写修改main.xml文件,如图2.

图2 main.xml文件

修改相关代码后,到graphic layout界面,会出现相应的结果。如图3

图3 输出界面

3. 这个实验是主要是练习编辑XML文件,目录能够被XML文件定义。选择该工程,右键点击new-others-android-Android XML file。如图4。按照图5设置完成后,点击finish,会出现如图6所示界面。

图4 新建XML文件

图5 XML文件相关设置

图6 menu.xml

点击ADD,在出现的选项卡里选择“Item”,如下图。

图7 添加Item元素

下面是item中包含的值,这定义了菜单的入口。每个工程只能有一个入口。

图8 定义menu.xml信息

4. 下面编辑preferences.java文件

OnCreateOptionsMenu:用于创建menu。

onOptionsItemSelected:一般在展示Toast时是硬代码的,之后会调用preferences设置。如果想不用或者隐藏menu items,可以使用onPreparO

ptionsMenu,每次调用menu时,这个命令就会被调用一次。

图9 preferences.java代码

5. 下面运行模拟器。如图10.

图10 模拟器运行

6. Preferences用于保存应用所需的数据,他被当作关键值保存,intents允许从其他activity中打开。Preferences 的值同样也能被当做XML资源存储。下面新建一个preferences.xml的文件。如图11.

图11 新建preferences.xml

添加一个种类category、两个preferences:EditTextPreferences,分别叫做"User"和"Password".如图12—

图12 添加PreferenceCategory

图13 设置PreferenceCategory

图14 添加EditTextPreference

图14 为第一个EditTextPreference命名

图15 为第一个EditTextPreference命名

可以用一个Activity包含上面的preferences.xml,从PreferenceActivity延伸。这个activity可以装载一个preferences,通过addPreferencesFromResource()定义资源。创建一个名为“hellopreferences”的类来装载preferences.xml。如图16.

图16 创建hellopreferces类

图17 hellopreferces中的代码

要想这个类别被android里可用,需要在AndroidManifest.xml里注册。双击AndroidMannifest.xml,进入application选项卡,如图18所示。

图18 注册hellopreferces类

图19 添加一个activity

图20 为创建的新类命名

7.修改preferences.java中的代码。如下:

package android.preferences;

import android.app.Activity;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuInflater;

import android.view.MenuItem;

import android.widget.Toast;

import android.content.SharedPreferences;

import android.content.SharedPreferences.Editor;

import android.content.Intent;

import android.preference.PreferenceManager;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

public class preferences extends Activity {

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

Button button = (Button) findViewById(R.id.Button01);

// Initialize preferences

final SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);

button.setOnClickListener(new OnClickListener() {

public void onClick(View v) {

String username = preferences.getString("username", "n/a");

String password = preferences.getString("password", "n/a");

Toast.makeText(

preferences.this,

"You entered user: " + username + " and password: "

+ password, Toast.LENGTH_LONG).show();

}

});

Button buttonChangePreferences = (Button) findViewById(R.id.Button02);

buttonChangePreferences.setOnClickListener(new OnClickListener() {

public void onClick(View v) {

Editor edit = preferences.edit();

String username = preferences.getString("username", "n/a");

// We will just revert the current user name and save again

StringBuffer buffer = new StringBuffer();

for (int i = username.length() - 1; i >= 0; i--) {

buffer.append(username.charAt(i));

}

edit.putString("username", buffer.toString());

edit.commit();

// A toast is a view containing a quick little message for the

// user. We give a little feedback

Toast.makeText(preferences.this,

"Reverted string sequence of user name.",

Toast.LENGTH_LONG).show();

}

});

}

public boolean onCreateOptionsMenu(Menu menu){

MenuInflater inflactor = getMenuInflater();

inflactor.inflate(R.menu.menu,menu);

return true;

}

public boolean onOptionsItemSelectd(MenuItem item){

switch (item.getItemId()) {

// We have only one menu option

case R.id.preferences:

// Launch Preference activity

Intent i = new Intent(preferences.this, preferences.class);

startActivity(i);

// Some feedback to the user

Toast.makeText(preferences.this,

"Here you can maintain your user credentials.",

Toast.LENGTH_LONG).show();

break;

}

return true;

}

}

遇到问题:查看代码时感觉还是比较陌生,不明白里面的函数的意义和逻辑。在运行时也并没有出现正确的结果。也许是在设置类和xml文件时出错。

三、下周计划

由于本周在代码中遇到了很大的问题,因此下周准备用一周的时间将android中如何使用资源如何调用资源部分弄清楚。下周还是回到书中,进行较为有调理地学习。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值