当前位置:文档之家› android通用table设计

android通用table设计

android通用table设计
android通用table设计

package com.perfect.msc.ui;

import java.util.ArrayList;

import com.perfect.msc.R;

import android.app.Activity;

import android.content.Context;

import android.graphics.Color;

import android.os.Bundle;

import android.util.AttributeSet;

import android.view.ContextMenu;

import android.view.Gravity;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.view.ContextMenu.ContextMenuInfo;

import android.view.View.OnClickListener;

import android.view.View.OnCreateContextMenuListener;

import android.widget.ImageButton;

import android.widget.TableLayout;

import android.widget.TableRow;

import android.widget.TextView;

/**

* 通用表格,用于显示比较方便

* @author Administrator

*

*/

public abstract class CommonTableUI extends Activity implements OnClickListener {

private int tblRowHight=20;

//private https://www.doczj.com/doc/bd4892985.html,youtParams tblCellLayout=new https://www.doczj.com/doc/bd4892985.html,youtParams(80,tblRowHight);

private https://www.doczj.com/doc/bd4892985.html,youtParams tblCellLayout=new https://www.doczj.com/doc/bd4892985.html,youtParams(https://www.doczj.com/doc/bd4892985.html,youtParams.WRAP_CONTENT,tblRow Hight);

private https://www.doczj.com/doc/bd4892985.html,youtParams tblCellSepLayout=new https://www.doczj.com/doc/bd4892985.html,youtParams(2,tblRowHight);

private int[] tblRow BgdColor=new int[]{Color.argb(250, 255, 255, 255),Color.argb(250, 224, 243, 250)};

private int tblCellSepBgdColor=0xFFDADFE2;

private int tblCellTextColor=0xFFA62AA2;

private int tblHeadRow BgdColor=0xFFC0C0C0;

private int tblHeadCellTextColor=0xFF000000;

//

//表行选中时的背景色

private int tblRowSelectBgdColor=0xFF39C4D7;

//保存表行选中前时的背景色,用于恢复背景色

//private int tblRowUnSelectBgdColor=0;

//行数

private int rowCount=0;

//每页多少行

private int pageSize=18;

private int pageCount=0;

private int curPageIndex=1;

//每页页最少显示多少行,必须大于0而小于pageSize private int minShowRowSize=10;

//当前第一行是表头,这是第二行,是内容

private int selectRowIndex=0;

private ImageButton btnCmnTblDown;

private ImageButton btnCmnTblUp;

private ImageButton btnCmnTblFirstPage;

private ImageButton btnCmnTblPrePage;

private ImageButton btnCmnTblNextPage;

private ImageButton btnCmnTblLastPage;

private TableLayout tbl;

//表格信息

private TextView tvCmnTblPageMsg;

//表头

private ArrayList dataHead;

//表数据集

private ArrayList> dataSource;

public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

this.setContentView(https://www.doczj.com/doc/bd4892985.html,mon_table);

this.initTable();

this.initToolBars();

}

/**

* 更新表格数据

*/

public void dataBind(){

if(null==this.tbl)

return;

this.tbl.removeAllViews();

this.rowCount=0;

this.selectRowIndex=0;

//添加表头行

if(null!=this.dataHead)

if(!this.addRow(this, this.dataHead))

return;

int startIndex=this.pageSize*(this.curPageIndex-1);

if(startIndex<0)

startIndex=0;

//添加数据行

if(this.dataSource!=null){

while(startIndex

this.dataSource.get(startIndex++)));

}

}

/**

* 向表格填充数据

* @param startIndex 数据dataSource的哪个索引开始

*/

protected void fillTable(int startIndex){

}

/**

* 初始化表格,可以在此灌入数据

*/

protected void initTable(){

this.tbl=(TableLayout)this.findViewById(R.id.tblCommonTable);

this.tbl.requestFocus();

/**

* 鼠标向下拖拉时显示的菜单。

*/

this.tbl.setOnCreateContextMenuListener(new OnCreateContextMenuListener() { public void onCreateContextMenu(ContextMenu menu, View v,

ContextMenuInfo menuInfo) {

populateMenu(menu);

}});

}

/**

* 初始化工具栏

*/

protected void initToolBars(){

this.btnCmnTblDown=(ImageButton) this.findView ById(R.id.btnCmnTblDown);

this.btnCmnTblDown.setOnClickListener(this);

this.btnCmnTblUp=(ImageButton) this.findViewById(R.id.btnCmnTblUp);

this.btnCmnTblUp.setOnClickListener(this);

this.btnCmnTblFirstPage=(ImageButton) this.findViewById(R.id.btnCmnTblFirstPage);

this.btnCmnTblFirstPage.setOnClickListener(this);

this.btnCmnTblPrePage=(ImageButton) this.findViewById(R.id.btnCmnTblPrePage);

this.btnCmnTblPrePage.setOnClickListener(this);

this.btnCmnTblNextPage=(ImageButton)

this.findV iewById(R.id.btnCmnTblNextPage);

this.btnCmnTblNextPage.setOnClickListener(this);

this.btnCmnTblLastPage=(ImageButton) this.findView ById(R.id.btnCmnTblLastPage);

this.btnCmnTblLastPage.setOnClickListener(this);

https://www.doczj.com/doc/bd4892985.html,CmnTblPageMsg=(TextView) this.findView ById(https://www.doczj.com/doc/bd4892985.html,CmnTblPageMsg);

this.btnCmnTblFirstPage.setEnabled(false);

this.btnCmnTblPrePage.setEnabled(false);

if(this.pageCount>0)

https://www.doczj.com/doc/bd4892985.html,CmnTblPageMsg.setText("第"+this.curPageIndex+"页,共"+this.pageCount+"页");

else

https://www.doczj.com/doc/bd4892985.html,CmnTblPageMsg.setText(null);

if(this.pageCount<2)

{

this.btnCmnTblNextPage.setEnabled(false);

this.btnCmnTblLastPage.setEnabled(false);

}

}

/**

* 创建弹出菜单

* @param menu

*/

public void populateMenu(Menu menu){

// if(null==menu)

// return;

// int i=Menu.FIRST+1;

// menu.add(0,i,i++,"首页");

// menu.add(0,i,i++,"上一页");

// menu.add(0,i,i++,"下一页");

// menu.add(0,i,i++,"末页");

// menu.add(1,i,i++,"关闭");

}

/**

* 获取表头信息

*

*/

public ArrayList getDataHead() {

return this.dataHead ;

}

/**

* 设置表头信息

* @param dataHead

*/

public void setDataHead(ArrayList dataHead) {

this.dataHead = dataHead;

}

/**获取表信息内容

*

*/

public ArrayList> getDataSource() {

return this.dataSource;

}

/**设置表信息内容

*

*/

public void setDataSource(ArrayList> dataSource) { this.dataSource = dataSource;

//设置页签

int pageCount=0;

if(this.pageSize>0&&null!=this.dataSource&&this.dataSource.size()>0){ pageCount=this.dataSource.size()/this.pageSize;

if(this.dataSource.size()%this.pageSize>0)

pageCount++;

this.setPageCount(pageCount);

}

}

public TableLayout getTbl() {

return tbl;

}

/**

* 设置表行选中时的颜色

* @param tblRowSelectBgdColor

*/

public void setTblRowSelectBgdColor(int tblRowSelectBgdColor) { this.tblRowSelectBgdColor = tblRowSelectBgdColor;

}

/**

* 设置每行行高

* @param rowHight

*/

public void setRowHight(int rowHight) {

this.tblRowHight = rowHight;

}

/**

* 设置单元格宽度和高度

* @param tblCellLayout

*/

public void setTblCellLayout(https://www.doczj.com/doc/bd4892985.html,youtParams tblCellLayout) { this.tblCellLayout = tblCellLayout;

}

/**

* 设置单元格分隔线宽度和高度

* @param tblCellSepLayout

*/

public void setTblCellSepLayout(https://www.doczj.com/doc/bd4892985.html,youtParams tblCellSepLayout) { this.tblCellSepLayout = tblCellSepLayout;

}

/**

* 设置行背景颜色

* @param rowBgdColor

*/

public void setRowBgdColor(int[] rowBgdColor) {

this.tblRowBgdColor = rowBgdColor;

}

/**

* 设置分隔线背景色

* @param tblCellSepBgdColor

*/

public void setTblCellSepBgdColor(int tblCellSepBgdColor) {

this.tblCellSepBgdColor = tblCellSepBgdColor;

}

/**

* 设置字体颜色

* @param cellTextColor

*/

public void setCellTextColor(int cellTextColor) {

this.tblCellTextColor = cellTextColor;

}

/**

* 表头行颜色

* @param tblHeadRowBgdColor

*/

public void setTblHeadRowBgdColor(int tblHeadRowBgdColor) {

this.tblHeadRow BgdColor = tblHeadRow BgdColor;

}

/**

* 设置每页多少行,默认值为18,取值在1到1000之间,如果不在此范围在采用默认值

* @param pageSize

*/

public void setPageSize(int pageSize) {

this.pageSize = pageSize;

if(this.pageSize<1||this.pageSize>1000)

this.pageSize=18;

//重置minShowRowSize

this.setMinShowRowSize(this.minShowRowSize);

}

/**

* 每页最少显示多少行。用于当按向下先上按钮时显示或者隐藏一些行。

* 默认值未10,其范围必须在1到pageSize之间,如果超此范围则其值等于pageSize * @param minShowRowSize

*/

public void setMinShowRowSize(int minShowRowSize) {

this.minShowRowSize = minShowRowSize;

if(this.minShowRowSize<1||this.minShowRowSize>this.pageSize)

this.minShowRowSize=this.pageSize;

}

/**

* 设置页数,必须大于0

* @param pageCount

*/

public void setPageCount(int pageCount) {

if(pageCount>=0)

this.pageCount = pageCount;

}

/**

* 获取表行背景色

* @return

*/

public int[] getTblRowBgdColor() {

return tblRowBgdColor;

}

/**

* 设置表行背景色

* @param tblRowBgdColor 类型是int[2]

*/

public void setTblRowBgdColor(int[] tblRow BgdColor) { this.tblRowBgdColor = tblRowBgdColor;

}

/**

* 获取单元格字体颜色

* @return

*/

public int getTblCellTextColor() {

return tblCellTextColor;

}

/**

* 设置单元格字体颜色

* @param tblCellTextColor

*/

public void setTblCellTextColor(int tblCellTextColor) { this.tblCellTextColor = tblCellTextColor;

}

/**

* 获取行高

* @return

*/

public int getTblRowHight() {

return tblRowHight;

}

/**

* 设置表单元格宽度和高度

* @return

*/

public https://www.doczj.com/doc/bd4892985.html,youtParams getTblCellLayout() { return tblCellLayout;

}

/**

* 设置表单元格宽度和高度

* @return

*/

public https://www.doczj.com/doc/bd4892985.html,youtParams getTblCellSepLayout() { return tblCellSepLayout;

}

/**

* 获取表单元格分隔线颜色

* @return

*/

public int getTblCellSepBgdColor() {

return tblCellSepBgdColor;

}

/**

* 获取表头行背景颜色

* @return

*/

public int getTblHeadRow BgdColor() {

return tblHeadRowBgdColor;

}

/**

* 获取表头行单元格字体颜色

* @return

*/

public int getTblHeadCellTextColor() {

return tblHeadCellTextColor;

}

/**

* 获取表行选中时颜色

*

*/

public int getTblRowSelectBgdColor() {

return tblRowSelectBgdColor;

}

/**

* 获取每页多少行

*

*/

public int getPageSize() {

return pageSize;

}

/**

* 多少页

*

*/

public int getPageCount() {

return pageCount;

}

/**

* 当前页码

*

*/

public int getCurPageIndex() {

return curPageIndex;

}

/**

* 用于按向下向上键时,每页至少显示多少行*

*/

public int getMinShowRowSize() {

return minShowRowSize;

}

/**

* 选中行号

*

*/

public int getSelectRowIndex() {

return selectRowIndex;

}

public ImageButton getBtnCmnTblDown() { return btnCmnTblDown;

}

public ImageButton getBtnCmnTblUp() {

return btnCmnTblUp;

}

public ImageButton getBtnCmnTblFirstPage() { return btnCmnTblFirstPage;

}

public ImageButton getBtnCmnTblPrePage() { return btnCmnTblPrePage;

}

public ImageButton getBtnCmnTblNextPage() { return btnCmnTblNextPage;

}

public ImageButton getBtnCmnTblLastPage() {

return btnCmnTblLastPage;

}

public TextV iew getTvCmnTblPageMsg() {

return tvCmnTblPageMsg;

}

/**

* 设置表头字体颜色值

* @param tblHeadCellTextColor

*/

public void setTblHeadCellTextColor(int tblHeadCellTextColor) { this.tblHeadCellTextColor = tblHeadCellTextColor;

}

/**

* 生成一个表格分隔线

* @return

*/

public V iew createTableSeparator(Context ct){

View view=new V iew(ct);

view.setBackgroundColor(this.tblCellSepBgdColor);

return view;

}

/**

* 构建表格

* @param ct

* @param data

* @param textColor 字体颜色

* @return

*/

public TextV iew createTableCell(Context ct,String data,int textColor){ TextView tv=new TextV iew(ct);

tv.setTextColor(textColor);

tv.setGravity(Gravity.CENTER);

tv.setText(data);

return tv;

}

/**

* 获取表行的颜色值

* @param rowIndex 表行号,0为表头行

* @return

*/

public int getTableRow BackgroundColor(int rowIndex){

return rowIndex<1?this.tblHeadRow BgdColor:this.tblRow BgdColor[(rowIndex-1)%2]; }

/**

* 获取表单元格字体颜色值

* @param rowIndex 表行号,0为表头行

* @return

*/

public int getTableCellBackgroundColor(int rowIndex){

return rowIndex<1?this.tblHeadCellTextColor:this.tblCellTextColor;

}

/**

* 添加一行

* @param ct 上下文

* @param rowNum 行号,第一行为表头

* @param datas 数据

*/

public boolean addRow(Context ct,ArrayList datas){

if(null==this.tbl||null==datas||1>datas.size()

||this.rowCount>this.pageSize)

return false ;

TableRow row=new TableRow(ct);

//设置表头行背景

int bgdColor=this.getTableRow BackgroundColor(this.rowCount);

int textColor=this.getTableCellBackgroundColor(this.rowCount);

row.setBackgroundColor(bgdColor);

row.addView(this.createTableSeparator(ct),this.tblCellSepLayout);

for(String data:datas){

row.addView(this.createTableCell(ct,data,textColor),this.tblCellLayout);

row.addView(this.createTableSeparator(ct),this.tblCellSepLayout);

}

//设置id,主要用于监听,为了设置选中行

row.setId(this.rowCount);

//增加行监听

row.setOnClickListener(this);

this.tbl.addV iew(row);

//行号增加一

this.rowCount++;

return true;

}

/**

* 处理上下文菜单的选项

public boolean onContextItemSelected(MenuItem item) {

return this.applyMenuChoise(item)||super.onOptionsItemSelected(item); }

/**

* 创建可选菜单

*/

public boolean onCreateOptionsMenu(Menu menu) {

this.populateMenu(menu);

return super.onCreateOptionsMenu(menu);

}

/**

* 处理可选菜单的选中事件

*/

public boolean onOptionsItemSelected(MenuItem item) {

return this.applyMenuChoise(item)||super.onOptionsItemSelected(item); }

/**

* 处理弹出菜单的单击事件

* @param item

* @return

*/

public boolean applyMenuChoise(MenuItem item){

if(null==item)

return false;

switch(item.getItemId()){

case Menu.FIRST+1://首页

break;

case Menu.FIRST+2://上一页

break;

case Menu.FIRST+3://下一页

break;

case Menu.FIRST+4://末页

break;

case Menu.FIRST+5://关闭

break;

}

return true;

}

/**

* 单击工具栏按键事件

*/

public void onClick(View v) {

//如果单击的是向下的按钮

if(v==this.btnCmnTblDown){

this.btnCmnTblDown_performance();

} else if(v==this.btnCmnTblUp){

this.btnCmnTblUp_performance();

}else if(v==this.btnCmnTblFirstPage){

this.btnCmnTblFirstPage_performance();

}else if(v==this.btnCmnTblPrePage){

this.btnCmnTblPrePage_performance();

}else if(v==this.btnCmnTblNextPage){

this.btnCmnTblNextPage_performance();

}else if(v==this.btnCmnTblLastPage){

this.btnCmnTblLastPage_performance();

}else if(v instanceof TableRow){

this.doClickTableRow((TableRow) v);

}

}

/**

* 表行选中时的颜色

* @param row

*/

public void doClickTableRow(TableRow row){

int index=row.getId();

//恢复原来颜色

this.tbl.getChildAt(this.selectRowIndex).setBackgroundColor(this.getTableRowBackground Color(this.selectRowIndex));

if(index>0)//设置选中颜色

row.setBackgroundColor(this.tblRowSelectBgdColor);

this.selectRowIndex=index;

}

/**

* 单击向下按钮执行的方法

*/

protected void btnCmnTblDown_performance(){

//保留10行,第一行是表头

if(this.rowCount>1){

if(this.selectRowIndex<1){

this.selectRowIndex=1;

this.tbl.getChildAt(this.selectRowIndex).setBackgroundColor(this.tblRowSelectBgdColor);

}else if(this.rowCount-1>this.selectRowIndex){

this.tbl.getChildAt(this.selectRowIndex).setBackgroundColor(this.getTableRowBackground Color(this.selectRowIndex));

this.tbl.getChildAt(++this.selectRowIndex).setBackgroundColor(this.tblRowSelectBgdColor );

//是否隐藏,保留10行不隐藏

for(int i=this.selectRowIndex-this.minShowRowSize;i>0;i--)

this.tbl.getChildAt(i).setVisibility(V iew.GONE);

}else if(this.pageCount>1&&this.curPageIndex

this.btnCmnTblNextPage_performance();//下一页

}

}

/**

* 单击向上按钮执行的方法

*/

protected void btnCmnTblUp_performance(){

//第一行是表头

if(this.rowCount>1)

{

//不理会第1行

if(this.selectRowIndex>0){

this.tbl.getChildAt(this.selectRowIndex).setBackgroundColor(this.getTableRowBackground Color(this.selectRowIndex));

if(--this.selectRowIndex>0){

this.tbl.getChildAt(this.selectRowIndex).setBackgroundColor(this.tblRowSelectBgdColor);

//是否隐藏,保留10行不隐藏

for(int i=this.selectRowIndex;i>0;i--)

{

if(i>this.selectRowIndex-this.minShowRowSize)

this.tbl.getChildAt(i).setVisibility(V iew.VISIBLE);

else

this.tbl.getChildAt(i).setVisibility(V iew.GONE);

}

}

}

if(this.selectRowIndex<1&&this.pageCount>1&&this.curPageIndex>1)

this.btnCmnTblPrePage_performance();

}

}

* 单击首页按钮执行的方法

*/

protected void btnCmnTblFirstPage_performance(){

this.btnCmnTblLastPage.setEnabled(true);

this.btnCmnTblNextPage.setEnabled(true);

this.curPageIndex=1;

https://www.doczj.com/doc/bd4892985.html,CmnTblPageMsg.setText("第"+this.curPageIndex+"页,共"+this.pageCount+"页");

this.btnCmnTblFirstPage.setEnabled(false);

this.btnCmnTblPrePage.setEnabled(false);

this.dataBind();

}

/**

* 单击前一页按钮执行的方法

*/

protected void btnCmnTblPrePage_performance(){

this.btnCmnTblLastPage.setEnabled(true);

this.btnCmnTblNextPage.setEnabled(true);

this.curPageIndex--;

https://www.doczj.com/doc/bd4892985.html,CmnTblPageMsg.setText("第"+this.curPageIndex+"页,共"+this.pageCount+"页");

if(this.curPageIndex<2){

this.btnCmnTblFirstPage.setEnabled(false);

this.btnCmnTblPrePage.setEnabled(false);

}

this.dataBind();

}

/**

* 单击下一页按钮执行的方法

*/

protected void btnCmnTblNextPage_performance(){

this.btnCmnTblFirstPage.setEnabled(true);

this.btnCmnTblPrePage.setEnabled(true);

this.curPageIndex++;

https://www.doczj.com/doc/bd4892985.html,CmnTblPageMsg.setText("第"+this.curPageIndex+"页,共"+this.pageCount+"页");

if(this.curPageIndex>=this.pageCount){

this.btnCmnTblLastPage.setEnabled(false);

this.btnCmnTblNextPage.setEnabled(false);

}

this.dataBind();

}

/**

* 单击最后一页按钮执行的方法

*/

protected void btnCmnTblLastPage_performance(){

this.btnCmnTblFirstPage.setEnabled(true);

this.btnCmnTblPrePage.setEnabled(true);

this.curPageIndex=this.pageCount;

https://www.doczj.com/doc/bd4892985.html,CmnTblPageMsg.setText("第"+this.curPageIndex+"页,共"+this.pageCount+"页");

this.btnCmnTblLastPage.setEnabled(false);

this.btnCmnTblNextPage.setEnabled(false);

this.dataBind();

}

}

Android简单的登陆界面的设计开发

通信实训报告 -Android移动平台开发 学院:信息工程学院 班级: 学号: 姓名:

实训内容: 一.1.Andriod的简介 Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。目前,最新版本为Android 2.4 Gingerbread 和Android 3.0 Honeycomb。 Android是基于Linux开放性内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统。 Android早期由原名为"Android"的公司开发,谷歌在2005年收购"Android.Inc"后,继续对Android系统开发运营,它采用了软件堆层(software stack,又名软件叠层)的架构,主要分为三部分。底层Linux内核只提供基本功能,其他的应用软件则由各公司自行开发,部分程序以Java编写。2011年初数据显示,仅正式上市两年的操作系统Android已经超越称霸十年的塞班系统,使之跃居全球最受欢迎的智能手机平台。现在,Android系统不但应用于智能手机,也在平板电脑市场急速扩张,在智能MP4方面也有较大发展。采用Android系统主要厂商包括台湾的HTC,(第一台谷歌的手机G1由HTC生产代工)美国摩托罗拉,SE等,中国大陆厂商如:魅族(M9),华为、中兴、联想、蓝魔等。 2.Android构架图 二.1软件下载 Android SDK,网址是https://www.doczj.com/doc/bd4892985.html,. JDK的下载地址https://www.doczj.com/doc/bd4892985.html,/javase/downloads/widget/jdk6.jsp。Eclipse的下载网址是https://www.doczj.com/doc/bd4892985.html,/downloads/ 2.Android开发环境搭建

Android应用程序开发(第二版)课后习题答案最新版

第一章 Android简介 1.简述各种手机操作系统的特点. 答案: 目前,手机上的操作系统主要包括以下几种,分别是Android、iOS、Windows Mobile、Windows Phone 7、Symbian、黑莓、PalmOS 和Linux。 (1)Android是谷歌发布的基于Linux的开源手机平台,该平台由操作系统、中间件、用户界面和应用软件组成,是第一个可以完全定制、免费、开放的手机平台。Android底层使用开源的Linux操作系统,同时开放了应用程序开发工具,使所有程序开发人员都在统一、开放的开发平台上进行开发,保证了Android应用程序的可移植性。 (2)iOS是由苹果公司为iPhone、iPod touch、iPad以及Apple TV开发的操作系统,以开放源代码的操作系统Darwin为基础,提供了SDK,iOS操作系统具有多点触摸操作的特点,支持的控制方法包括滑动、轻按、挤压和旋转, 允许系统界面根据屏幕的方向而改变方向,自带大量的应用程序。 (3)Windows Mobile是微软推出的移动设备操作系统,对硬件配置要求较高,一般需要使用高主频的嵌入式处理器,从而产生了耗电量大、电池续航时间短和硬件成本高等缺点,Windows Mobile系列操作系统包括Smartphone、Pocket PC和Portable Media Center。

随着Windows Phone 7的出现,Windows Mobile正逐渐走出历史舞台。 (4)Windows Phone 7具有独特的“方格子”用户界面,非常简洁,黑色背景下的亮蓝色方形图标,显得十分清晰醒目,集成了Xbox Live游戏和Zune音乐功能,可见Windows Phone 7对游戏功能和社交功能的重视。 (5)Symbian是为手机而设计的实时多任务32位操作系统,它的功效低,内存占用少,提供了开发使用的函数库、用户界面、通用工具和参考示例。操作系统不是完全开放的,核心代码不开放,但是API文档是公开的。 (6)黑莓系统主要在黑莓手机上使用,其特色是支持电子邮件推送功能,邮件服务器主动将收到的邮件推送到用户的手持设备上,而不需要用户频繁地连接网络查看是否有新邮件。同时,黑莓系统提供手提电话、文字短信、互联网传真、网页浏览及其它无线信息服务功能。黑莓系统主要针对商务应用,具有很高的安全性和可靠性。 (7)PalmOS由拥有较多的第三方软件,是32位的嵌入式操作系统,主要在移动终端上使用,操作系统本身所占的内存极小,不具备录音和MP3播放功能。 (8)Linux手机操作系统具有开放源代码的特性,但是也包含入门难度高,集成开发环境差,Linux的产品与个人计算机的连接性较差,具有较强的开发实力的公司很少等不足。 2.简述Android平台的特征

Android界面设计教程

这样的话就比较容易实现了,再看一下整体的Layout布局情况: xml布局文件如下:注意层次的嵌套。先是一个RelativeLayout,它有两个子布局,RelativeLayout和LinearLayout。

android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:padding="10.0dip" android:singleLine="true" android:text="设置" android:textColor="@color/white" android:textSize="15dp" />

基于Android系统的App界面设计

基于Android系统的App界面设计 智能手机时代的来临改变了大多数人的生活习惯,时至今日智能手机已经成为了人们工作生活中的一部分,在工作生活中发挥着重要的作用。App作为智能手机应用程序的核心,构建以用户体验为核心的页面设计是智能手机App设计的核心与要点,同时也是满足用户使用需求的重要途径与方式。现今的智能手机App主要分为IOS与Android两大市场,与IOS的封闭不同的是Android系统具有极强的开放性,而这一开放性在为Android系统App带来无限可能的同时也使得基于Android系统所开发的App界面本身缺乏统一的规范,从而造成基于Android系统所开发的App界面具有极大的开放性。新时期为做好基于Android 系统App的设计需要从情感、认知以及感官三个层面入手做好基于Android系统的App界面的开发设计,使之具有良好的用户使用体验。 标签:Android系统;App;界面设计 Abstract:The advent of the smart phone era has changed the habits of most people. Today,smart phone s have become a part of people’s work and life,and play an important role in the work and life. As the core of smart phone applications,App plays an important role in the work and life. The design of page based on user experience is the core and key point of the App design of smart phone,and it is also an important way and way to meet the needs of users. Today’s smartphone App is mainly divided into IOS and Android two major markets,Different from the closure of IOS,Android system has a very strong openness,and this openness not only brings infinite possibility to App of Android system,but also makes the App interface based on Android system lack of unified specification. As a result,the App interface based on Android system is very open. In order to do well the design of App based on Android system in the new period,it is necessary to develop and design the App interface based on Android system from the three aspects of emotion,cognition and sense organ,to make it have a good user experience. Keywords:Android system;App;interface design 前言 Android系统是与IOS系统所并行的应用于智能手机中的两大智能系统,在基于Android系统App界面开发的过程中受多种因素的影响使得一些App的界面具有很大的不协调性,从而影响了广大用户的使用体验。本文在分析影响智能手机App界面设计因素的基础上对如何做好基于Android系统的App界面设计进行分析阐述。 1 影响智能手机App界面设计的因素分析 智能手机App是智能手机的灵魂,用户结合自身需求可以下载安装自身所

android程序设计

一、填空题 1、下列哪个不是Activity的生命周期方法之一() A. onCreate B. startActivity C. onStart D. onResume 2、下列用于进行文本输入的组件是() A、TextView B、Button C、EditText D、Label 3、下面哪个不是Android的界面布局方式() A、BorderLayout B、LinearLayout C、TableLayout D、RelativeLayout 4、下列不是手机操作系统的是( ) A. Android B. Window Mobile C. Apple IPhone IOS D.windows vista 5、定义LinearLayout垂直方向布局时设置的属性是() A.android:layout_height B.android:gravity C.android:layout D. android:orientation vertical 6、Android 项目工程下面的assets 目录的作用是什么( ) A、放置应用到的图片资源。Res/drawable B、主要放置一些文件资源,这些文件会被原封不动打包到apk 里面 C、放置字符串,颜色,数组等常量数据res/values D、放置一些与UI相应的布局文件,都是xml 文件res/layout 11、在XML布局 7、跳转到另一个Activity的方法是( ) A.runActivity() B.goActivity() C.startActivity() D.startActivityForIn() 8、用于进行文字显示的组件是( ) A.TextView B.Button C.EditText https://www.doczj.com/doc/bd4892985.html,bel 9、下面退出Activity错误的方法是() A.finish() B.抛异常强制退出

Android程序设计练习卷答案

1.在android程序中,Log.d()用于输出什么级别的日志信息?(A) A、调试 B、信息 C、警告 D、错误 2.以下情况不会创建Context对象的是(C) A.创建Application 对象时 B.创建Service对象时 C.创建ContentProvider对象时 D.创建Activity对象时 3.下列不属于Android中广播中的类别的是(D) A.Normal Broadcas B.Sticky Broadcast C.Local Broadcast D.Order broadcast 4.以下哪个不是Intent的Activity启动方式(A) A.FLAG_ACTIVITY_BROUGHT_TO_FIRST B.FLAG_ACTIVITY_CLEAR_TOP C.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET D.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS 5.安卓AndroidManifest.xml文件的子节点不包括(C) A.application B.services C.permission D.provider 6.下面那个不是Fragment的生命周期方法(D) A. onStart B. onAttach C. onDestoryView D. onRestart 7.下面那种不是安卓原生支持的Menu(A) A.Selected Menu B.Option Menu C.Submenu D.Context Menu 8.下面不属于android的动画分类的有(D) A、Tween B、Frame C、Property D、Animation 9.下列哪个不是安卓service自带的方法(A) A.OnResume B.onCreate C.onStartCommand D.onRebind 10.下列属于SAX解析xml文件的优点的是(B) A、将整个文档树在内存中,便于操作,支持删除,修改,重新排列等多种功能 B、不用事先调入整个文档,占用资源少 C、整个文档调入内存,浪费时间和空间 D、不是长久驻留在内存,数据不是持久的,事件过后,若没有保存数据,数据就会消失 11.下列关于Soundpool和MediaPlayer的说法,错误的是(A) A.MediaPlayer支持多个音乐同时播放 B.MediaPlayer资源占用率高 C.MediaPlayer延迟时间较长 D.new MediaPlayer()后要调用prepare()方法才能播放 12.关于res/raw目录说法正确的是(A) A、这里的文件是原封不动的存储到设备上不会转换为二进制的格式

Android的UI设计

UI设计9要素: Do: ◆为高分辨率的屏幕创建资源(缩小总比放大好) ◆需要点击的元素要够大 ◆图标设计遵循 Android 的准则 ◆使用适当的间距(margins, padding) ◆支持D-pad和trackball导航 ◆正确管理活动(activity)堆栈 ◆正确处理屏幕方向变化 ◆使用主题/样式,尺寸和颜色资源来减少多余的值 ◆和视觉交互设计师合作! UI设计5不要 Don’t: ◆不要照搬你在其它平台的UI设计,应该让用户感觉是在真正使用一个 Android 软件,在你的商标显示和平台整体观感之间做好平衡 ◆不要过度使用模态对话框 ◆不要使用固定的绝对定位的布局 ◆不要使用px单位,使用dp或者为文本使用sp ◆不要使用太小的字体 4则Android UI的设计哲学: ◆干净而不过于简单 ◆关注内容而非修饰 ◆保存一致,让用户容易投入其中,可附加少许变化 ◆使用云端服务(存储和同步用户资料)来加强用户体验 优秀界面的设计5条准则: ◆关注用户 ◆显示正确的内容 ◆给予用户适当的回馈

◆有章可循的行为模式 ◆容忍错误 设计需要考量的8地方: ◆屏幕的物理尺寸 ◆屏幕密度 ◆屏幕的方向(竖向和横向) ◆主要的UI交互方式(触屏还是使用D-pad/trackball) ◆软键盘还是物理键盘 ◆了解不同设备之间的相异之处是非常重要的! ◆阅读CDD,学习设备可能差异的地方 ◆了解屏幕尺寸和密度分类 TextView重要属性: RelativeLayout用到的一些重要的属性: 第一类:属性值为true或false android:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 android:layout_centerInparent 相对于父元素完全居中 android:layout_alignParentBottom 贴紧父元素的下边缘 android:layout_alignParentLeft 贴紧父元素的左边缘 android:layout_alignParentRight 贴紧父元素的右边缘 android:layout_alignParentTop 贴紧父元素的上边缘 android:layout_alignWithParentIfMissing 如果对应的兄弟元素找不到的话就以父元素做参照物 第二类:属性值必须为id的引用名“@id/id-name” android:layout_below在某元素的下方 android:layout_above 在某元素的的上方 android:layout_toLeftOf 在某元素的左边 android:layout_toRightOf 在某元素的右边 android:layout_alignTop 本元素的上边缘和某元素的的上边缘对齐 android:layout_alignLeft 本元素的左边缘和某元素的的左边缘对齐 android:layout_alignBottom 本元素的下边缘和某元素的的下边缘对齐 android:layout_alignRight 本元素的右边缘和某元素的的右边缘对齐 第三类:属性值为具体的像素值,如30dip,40px android:layout_marginBottom 离某元素底边缘的距离

Android应用程序开发(第二版)课后习题答案

第一章Android简介 1.简述各种手机操作系统的特点. 答案: 目前,手机上的操作系统主要包括以下几种,分别是Android、iOS、Windows Mobile、Windows Phone 7、Symbian、黑莓、PalmOS和Linux。 (1)Android是谷歌发布的基于Linux的开源手机平台,该平台由操作系统、中间件、用户界面和应用软件组成,是第一个可以完全定制、免费、开放的手机平台。Android底层使用开源的Linux操作系统,同时开放了应用程序开发工具,使所有程序开发人员都在统一、开放的开发平台上进行开发,保证了Android应用程序的可移植性。 (2)iOS是由苹果公司为iPhone、iPod touch、iPad以及Apple TV开发的操作系统,以开放源代码的操作系统Darwin为基础,提供了SDK,iOS操作系统具有多点触摸操作的特点,支持的控制方法包括滑动、轻按、挤压和旋转, 允许系统界面根据屏幕的方向而改变方向,自带大量的应用程序。 (3)Windows Mobile是微软推出的移动设备操作系统,对硬件配置要求较高,一般需要使用高主频的嵌入式处理器,从而产生了耗电量大、电池续航时间短和硬件成本高等缺点,Windows Mobile系列操作系统包括Smartphone、Pocket PC和Portable Media Center。随着Windows Phone 7的出现,Windows Mobile 正逐渐走出历史舞台。 (4)Windows Phone 7具有独特的“方格子”用户界面,非常简洁,黑色背景下的亮蓝色方形图标,显得十分清晰醒目,集成了Xbox Live游戏和Zune音乐功能,可见Windows Phone 7对游戏功能和社交功能的重视。 (5)Symbian是为手机而设计的实时多任务32位操作系统,它的功效低,内存占用少,提供了开发使用的函数库、用户界面、通用工具和参考示例。操作系统不是完全开放的,核心代码不开放,但是API文档是公开的。 (6)黑莓系统主要在黑莓手机上使用,其特色是支持电子邮件推送功能,邮件服务器主动将收到的邮件推送到用户的手持设备上,而不需要用户频繁地连接网络查看是否有新邮件。同时,黑莓系统提供手提电话、文字短信、互联网传真、网页浏览及其它无线信息服务功能。黑莓系统主要针对商务应用,具有很高的安全性和可靠性。 (7)PalmOS由拥有较多的第三方软件,是32位的嵌入式操作系统,主要在移动终端上使用,操作系统本身所占的内存极小,不具备录音和MP3播放功能。 (8)Linux手机操作系统具有开放源代码的特性,但是也包含入门难度高,集成开发环境差,Linux的产品与个人计算机的连接性较差,具有较强的开发实力的公司很少等不足。 2.简述Android平台的特征 答案: Android广泛支持GSM、3G和4G的语音与数据业务,支持接收语言呼叫和SMS

android UI界面设计

Android UI开发专题(一) 之界面设计 发帖日期:2010-02-09 10:49:28 标签:ophone 近期很多网友对Android用户界面的设计表示很感兴趣,对于Android UI开发自绘控件和游戏制作而言掌握好绘图基础是必不可少的。本次专题分10节来讲述,有关OpenGL ES相关的可能将放到以后再透露。本次主要涉及以下四个包的相关内容: android.content.res 资源类 android.graphics 底层图形类 android.view 显示类 android.widget 控件类 一、android.content.res.Resources 对于Android平台的资源类android.content.res.Resources可能很多网友比较陌生,一起来看看SDK上是怎么介绍的吧,Contains classes for accessing application resources, such as raw asset files, colors, drawables, media or other other files in the package, plus important device configuration details (orientation, input types, etc.) that affect how the application may behave.平时用到的二进制源文件raw、颜色colors、图形drawables和多媒体文件media的相关资源均通过该类来管理。 int getColor(int id) 对应res/values/colors.xml Drawable getDrawable(int id) 对应res/drawable/ XmlResourceParser getLayout(int id) 对应res/layout/ String getString(int id) 和CharSequence getText(int id) 对应 res/values/strings.xml InputStream openRawResource(int id) 对应res/raw/ void parseBundleExtra (String tagName, AttributeSet attrs, Bundle outBundle) 对应res/xml/ String[] getStringArray(int id) res/values/arrays.xml float getDimension(int id) res/values/dimens.xml 二、android.graphics.Bitmap 作为位图操作类,Bitmap提供了很多实用的方法,常用的我们总结如下: boolean compress(https://www.doczj.com/doc/bd4892985.html,pressFormat format, int quality, OutputStream stream) 压缩一个Bitmap对象根据相关的编码、画质保存到一个OutputStream中。其中第一个压缩格式目前有JPG和PNG void copyPixelsFromBuffer(Buffer src) 从一个Buffer缓冲区复制位图像素

本科毕业设计--基于android平台的手机应用软件设计与实现

安阳工学院 计算机科学与工程学院 JAVA程序设计课程综合项目报告 项目题目:基于Android平台的手机应用软件设计与实现专业班级:计算机科学与技术(信息技术)11-1 学生姓名:吕鹏 学生学号:201103010042 指导教师姓名:许研 2013年12月

摘要 随着IT技术的发展,移动开发已被广泛的应用于社会的各个领域,成为推动社会发展的技术动力。而在移动开发中,Android开发近些年来突飞猛进的发展,在智能手机领域中的市场份额以及超过80%。同样,基于安卓平台的手机应用开发也达到前所未有的高度,各种安卓手机应用软件竞相出现。本次的JAVA 课程设计将基于安卓的平台,因为安卓开发主要基于JAVA语言和XML语言。本次所做的手机应用软件,可实现系统的登录、计算器、打电话、发短信、上网等简单功能实现。在此系统的实现过程中不仅提高了JAVA语言编程,而且加入了Android的成分,提高了软件设计的兴趣性。 关键词:手机应用软件开发,Java程序设计语言,Android开发。

目录 摘要 (2) 第1章系统目标 (5) 第2章系统功能介绍 (6) 2.1系统功能总框图 (6) 2.2 模块功能介绍 (6) 2.2.1 登录模块功能介绍 (6) 2.2.2 等待模块功能介绍 (7) 2.2.3系统主界面模块功能介绍 (8) 2.2.4短信和拨号模块功能介绍 (8) 2.2.5计算器模块功能介绍 (9) 2.2.6网上冲浪模块功能介绍 (10) 第三章系统功能实现 (11) 3.1 系统登录模块设计 (11) 3.1.1 登录框布局设计 (11) 3.1.2 登录对话框设计 (13) 3.2 等待模块设计 (15) 3.3 系统主界面模块设计 (16) 3.3.1 主界面XML布局设计 (16) 3.3.2 主界面背景图片设计 (18) 3.3.3 主界面功能实现设计 (18) 3.4 短信和拨号模块设计 (20) 3.4.1短信功能实现设计 (20) 3.4.2 拨号功能实现设计 (22) 3.5 计算器模块设计 (22) 3.5.1 计算器界面设计 (22) 3.5.2 计算器功能实现设计 (22) 3.6 网上冲浪模块设计 (24) 3.6.1 网上冲浪模块XML布局设计 (24)

Android程序设计练习卷答案

1.在android程序中,()用于输出什么级别的日志信息(A) A、调试 B、信息 C、警告 D、错误 2.以下情况不会创建Context对象的是(C) A.创建Application 对象时 B.创建Service对象时 C.创建ContentProvider对象时 D.创建Activity对象时 ] 3.下列不属于Android中广播中的类别的是(D) Broadcas Broadcast Broadcast broadcast 4.以下哪个不是Intent的Activity启动方式(A) 5.安卓文件的子节点不包括(C) & 6.下面那个不是Fragment的生命周期方法(D) A. onStart B. onAttach C. onDestoryView D. onRestart 7.下面那种不是安卓原生支持的Menu(A) Menu Menu Menu ( 8.下面不属于android的动画分类的有(D) A、Tween B、Frame C、Property D、Animation 9.下列哪个不是安卓service自带的方法(A) A.OnResume 10.下列属于SAX解析xml文件的优点的是(B) @ A、将整个文档树在内存中,便于操作,支持删除,修改,重新排列等多种功能 B、不用事先调入整个文档,占用资源少 C、整个文档调入内存,浪费时间和空间 D、不是长久驻留在内存,数据不是持久的,事件过后,若没有保存数据,数据就会消失 11.下列关于Soundpool和MediaPlayer的说法,错误的是(A) 支持多个音乐同时播放 资源占用率高 { 延迟时间较长

Android课程设计

移动互联网开发 课程设计报告 学生姓名:余安慧学号:031440407 专业:计算机科学与技术班级:0314404 设计题目:茶百科 学年学期:2016 年秋季学期 指导教师:张华

目录 一、设计题目 (1) 二、设计目的 (1) 三、设计原理及方案 (1) 1使用的软件工具和环境 (1) 2需求分析与概要设计 (2) 3数据库设计 (3) 4详细设计和关键问题 (5) 四、实现效果 (13) 五、设计体会 (16) 参考文献 (17)

一、设计题目 茶百科 二、设计目的 随着智能手机一步步走进普通人的生活,它将成为人们获取信息的主要设备。因此,手机的应用服务将会有很大的发展空间,手机茶百科软件就是其中的一项。Android平台提供给用户非常方便的茶百科查询功能,这将为茶百科查询服务的设计与实现提供了更好的平台。另外,Android平台基本上是免费的,所以能够有效降低软件的成本,最终让每个用户能够自由地获取信息,也为手机茶百科查询服务的普及做出贡献。 本文对目前应用的Symbian、WindowsMobile、MacOSX和RIM等平台的现状进行了分析与比较。进而研究分析了Android平台的系统架构和组件模型,接着解析了Android中的重要API 和应用构成。主要应用了数据库,碎片,图片缓存等技术,在此基础上,基于Android平台设计和开发手机茶百科查询软件。本系统界面友好、操作便捷,具有良好的可扩展性和可维护性;系统经过测试,可以稳定运行,能够满足手机用户的基本需求。 通过设计开发茶百科安卓客户端,综合训练安卓系统开发能力,进一步提升对安卓程序开发及运行的理解和认识,复习、巩固java语言的基础知识,进一步加深对java语言的理解和掌握,搭建一个完整的安卓开发环境。为学生提供了一个既动手又动脑,独立实践的机会,开发出界面与功能都有特色的安卓应用软件。 三、设计原理及方案 1使用的软件工具和环境 (1)PC计算机 (2)JDK安装包:JDK是Java语言的软件开发工具包,主要用于移动设备、嵌入式设备上 的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境,JAVA工具和JAVA基础的类库 (3)Eclipse安装包:是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言, 它只是一个框架和一组服务,用于通过插件组件构建开发环境 (4)Android SDK安装包:Android SDK 指的是Android专属的软件开发工具包 (5)ADT插件:使用Eclipse进行android应用开发需要给Eclipse装ADT件,这样Eclipse 就可以和android sdk建立连接

Android UI开发专题

https://www.doczj.com/doc/bd4892985.html,/cmdn/bbs/viewthread.php?tid=18736&page=1 #pid89255 Android UI开发专题(一) 之界面设计 近期很多网友对Android用户界面的设计表示很感兴趣,对于Android UI开发自绘控件和游戏制作而言掌握好绘图基础是必不可少的。本次专题分10节来讲述,有关OpenGL ES相关的可能将放到以后再透露。本次主要涉及以下四个包的相关内容:android.content.res 资源类 android.graphics 底层图形类 android.view 显示类 android.widget 控件类 一、android.content.res.Resources 对于Android平台的资源类android.content.res.Resources可能很多网友比较陌生,一起来看看SDK上是怎么介绍的吧,Contains classes for accessing application resources, such as raw asset files, colors, drawables, media or other other files in the package, plus important device configuration details (orientation, input types, etc.) that affect how the application may behave.平时用到的二进制源文件raw、颜色colors、图形drawables和多媒体文件media的相关资源均通过该类来管理。 int getColor(int id) 对应res/values/colors.xml Drawable getDrawable(int id) 对应res/drawable/ XmlResourceParser getLayout(int id) 对应res/layout/ String getString(int id) 和CharSequence getText(int id) 对应res/values/strings.xml InputStream openRawResource(int id) 对应res/raw/ void parseBundleExtra (String tagName, AttributeSet attrs, Bundle outBundle) 对应res/xml/ String[] getStringArray(int id) res/values/arrays.xml float getDimension(int id) res/values/dimens.xml 二、android.graphics.Bitmap 作为位图操作类,Bitmap提供了很多实用的方法,常用的我们总结如下: boolean compress(https://www.doczj.com/doc/bd4892985.html,pressFormat format, int quality, OutputStream stream) 压缩一个Bitmap对象根据相关的编码、画质保存到一个OutputStream中。其中第一个压缩格式目前有JPG和PNG void copyPixelsFromBuffer(Buffer src) 从一个Buffer缓冲区复制位图像素 void copyPixelsToBuffer(Buffer dst) 将当前位图像素内容复制到一个Buffer缓冲区 我们看到创建位图对象createBitmap包含了6种方法在目前的Android 2.1 SDK中,当然他们使用的是API Level均为1,所以说从Android 1.0 SDK开始就支持了,所以大家可以放心使用。

android程序设计a

一、选择题 1、下列哪个不是Activity的生命周期方法之一() A. onCreate B. startActivity C. onStart D. onResume 2、下列用于进行文本输入的组件是() A.TextView B.Button C.EditText https://www.doczj.com/doc/bd4892985.html,bel 3、如果要让标签文本(TextView)上的文字居中显示,需要设置哪个属性() A.android:orientation B.android:layout_gravity C.android:gravity D.android:layout_weight 4、Activity的onCreate()什么时候调用( ) A.当第一次启动Activity时 B.当onCreate方法被执行之后 C.当界面被隐藏时 D.当界面重新显示时 5、关于应用程序的生命周期,一个Activity从启动到运行状态需要执行 3个方法,请选择一个正确的执行顺序。( ) A. onCreate()->onStart()->onResume() B. onStart()->onCreate()->onResume() C. onCreate()->onResume()->onStart() D. onStart()->onResume()->onCreate() 6、android 关于service生命周期的onCreate()和onStart()说法正确的是 ( ) A.当第一次启动的时候先后调用onCreate()和onStart()方法 B.当第一次启动的时候只会调用onCreate()方法 C.如果service已经启动,将先后调用onCreate()和onStart()方法 D.如果service已经启动,只会执行onStart()方法,同时执行onCreate()方法 7、跳转到另一个Activity的方法是( ) A.runActivity() B.goActivity() C.startActivity() D.startActivityForIn() 8、用于进行文字显示的组件是( ) A.TextView B.Button C.EditText https://www.doczj.com/doc/bd4892985.html,bel

《Android应用程序设计》教学大纲

《Android应用程序设计》课程教学大纲 课程类别:专业核心课 适用对象: 嵌入式技术与应用专业 总学时:60讲授学时:30课内实践学时:30 一、课程的性质、任务与课程的教学目标 (一)课程的性质、任务 1.课程的性质 《Android应用程序设计》课程是<<嵌入式技术与应用专业>>的专业核心课(学习领域)。该课程的先修课程为<<嵌入式C语言程序设计>>、<<嵌入式实时操作系统>>、<>和<>; 其后续课程为<<嵌入式Android项目设计与开发>>、<<嵌入式Android高级应用开发实训>>和<<嵌入式Android高级应用开发实训>>。 2.课程的任务 本课程主要讲授 Google Android的移动互联软件开发平台的基本原理、应用框架和基本应用程序设计,涉及从基础支持平台到系统应用框架、从Java开发包到Android开发环境与模拟器、从线性布局到Android屏幕复杂布局、从Android控件Widgets到Android的图形用

户界面、从Android数据存储到Android多媒,以及手机乐游项目等的综合应用编程。 本课程的核心知识单元主要包括:Android开发环境、Android屏幕布局、Android控件Widgets、 Android的图形用户界面、Android 数据存储、Android多媒体等,讲授Android应用程序框架、Activity 生命周期、典型屏幕控件、图形用户界面设计、文件存储、Preference 、嵌入式数据库SQLite 、Mp3 Player多媒体等应用核心知识和应用技术。 本课程将Java作为编程语言。学习使用Android 集成开发环境及其Eclipse Android编译器,掌握Android应用程序设计和调试方法。通过两个综合Android应用项目的设计与实现,让学生熟练掌握Android基本应用编程知识和编程技巧。 (二)课程的教学目标 1.基本理论要求 了解Android平台的基本结构,熟悉Android应用软件开发环境,基本掌握Android应用编程的集成开发环境、常用软件软件包、屏幕布局方式、典型控件、数据存储技术和应用程序设计。 本课程包含有旨在提高学生Android应用程序设计与实现能力的综合项目实训。 2.基本技能要求 (1)Android开发环境构建和参数配置的能力; (2)Android应用程序调试能力; (3) 掌握Android应用程序基本框架,具备基本应用程序设计与实现能力;

实验2 android的界面设计(控件与布局)

实验2 android的界面设计(控件与布局) 学时:4学时 一、实验目的: 1、了解Android编程原理 2、掌握界面控件设计 3、了解和熟悉常用控件的使用、界面布局等内容。 二、实验内容: 1.基本控件的制作: (1)TextView的制作: a)体会Autolink,依次更换属性:web/phone/all/email/ b) 制作跑马灯效果 android:ellipsize 设置当文字过长时,该控件该如何显示。有如下值设置:”start”—-省略号显示在开头;”end”——省略号显示在结尾;”middle”—-省略号显示在中间;”marquee”——以跑马灯的方式显示(动画横向移动) android:marqueeRepeatLimit 在ellipsize 指定marquee 的情况下,设置重复滚动的次数,当设置为marquee_forever 时表示无限次。 android:focusableInTouchMode:是否在触摸模式下获得焦点。 android:focusable 控件是否能够获取焦点 (2)EditView制作 (a) maxLength:最大输入长度属性

(b) singleLine:多行文本框 (c) inputType:限制输入文本类型 (d) hint:设置提示信息 2.布局设计 (1) LinearLayout布局: (2)Relative Layout:

(3)Table Layout 3.建立一个如图所示的图形界面:

4.用ListView制作如图界面(图片自定) (将该题以你的学号命名,发给你班的学习委员,以班为单位统一发给我,我的邮箱为:610083060@https://www.doczj.com/doc/bd4892985.html,): 5.用expandablelistview制作如下界面:

相关主题
相关文档 最新文档