安卓开发实验报告.docx

上传人:b****7 文档编号:9863849 上传时间:2023-02-07 格式:DOCX 页数:19 大小:164.06KB
下载 相关 举报
安卓开发实验报告.docx_第1页
第1页 / 共19页
安卓开发实验报告.docx_第2页
第2页 / 共19页
安卓开发实验报告.docx_第3页
第3页 / 共19页
安卓开发实验报告.docx_第4页
第4页 / 共19页
安卓开发实验报告.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

安卓开发实验报告.docx

《安卓开发实验报告.docx》由会员分享,可在线阅读,更多相关《安卓开发实验报告.docx(19页珍藏版)》请在冰豆网上搜索。

安卓开发实验报告.docx

安卓开发实验报告

安卓开发实验报告

一、页面跳转

二、长按图标抖动以及显示删除

 

一、页面跳转

功能:

通过点击button实现2个activity之间的跳转。

1.设置监听器监听点击button

2.使用intent传输数据

完整代码

1.ui_test.java

publicclassUI_TestextendsActivity{

@Override

protectedvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.incident_activity_1);

Buttonbt=(Button)findViewById(R.id.login);

bt.setOnClickListener(newOnClickListener());

}

classOnClickListenerimplementsView.OnClickListener{

publicvoidonClick(Viewv){

EditTextname=(EditText)findViewById(R.id.name);

EditTextpassword=(EditText)findViewById(R.id.password);

Bundledata=newBundle();

data.putString("name",name.getText().toString());

data.putString("password",password.getText().toString());

Intentintent=newIntent(UI_Test.this,UI_Result.class);

intent.putExtras(data);

startActivity(intent);

}

}

2.ui_result.java

publicclassUI_ResultextendsActivity{

@Override

protectedvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.incident_activity_2);

TextViewname=(TextView)findViewById(R.id.nameShow);

TextViewpassword=(TextView)findViewById(R.id.passwordShow);

Intentintent=getIntent();

Bundleresult=intent.getExtras();

name.setText("您的用户名为:

"+result.getString("name"));

password.setText("您的密码为:

"+result.getString("password"));

}

}

3.activity_1.xml

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

>

android="

android:

layout_width="fill_parent"

android:

layout_height="fill_parent"

>

android:

layout_width="fill_parent"

android:

layout_height="wrap_content"

android:

text="请输入您的信息"

android:

textSize="20sp"

/>

android:

id="@+id/tableRow1"

android:

layout_width="fill_parent"

android:

layout_height="wrap_content"

>

android:

layout_width="fill_parent"

android:

layout_height="wrap_content"

android:

text="用户名"

android:

textSize="16sp"

/>

android:

id="@+id/name"

android:

layout_width="fill_parent"

android:

layout_height="wrap_content"

android:

hint="请填写登录用户名"

android:

selectAllOnFocus="true">

android:

id="@+id/tableRow2"

android:

layout_width="fill_parent"

android:

layout_height="wrap_content"

>

android:

layout_width="fill_parent"

android:

layout_height="wrap_content"

android:

text="请输入密码"

android:

textSize="16sp"

/>

android:

id="@+id/password"

android:

layout_width="fill_parent"

android:

layout_height="wrap_content"

android:

password="true"

android:

selectAllOnFocus="true">

android:

id="@+id/tableRow3"

android:

layout_width="fill_parent"

android:

layout_height="wrap_content"

>

android:

id="@+id/login"

android:

layout_width="wrap_content"

android:

layout_height="wrap_content"

android:

text="登录"

android:

textSize="16sp"

/>

4.activity_2.xml

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

>

android="

android:

layout_width="match_parent"

android:

layout_height="match_parent"

android:

orientation="vertical">

android:

id="@+id/nameShow"

android:

layout_width="fill_parent"

android:

layout_height="wrap_content"

android:

textSize="18sp"

/>

android:

id="@+id/passwordShow"

android:

layout_width="fill_parent"

android:

layout_height="wrap_content"

android:

textSize="18sp"

/>

 

二、长按图标抖动以及显示删除

功能:

将app列举在界面上,并且长按图标使图标进行抖动以及显示删除图标。

1.初始化一个gridview的适配器

2.通过不停转动图标实现图标的抖动以及添加删除图标

3.添加监听器实现长按图标使图标抖动及显示删除

完整代码

1.main_activity.java

publicclassMainActivityextendsActivity{

privatePackageManagermPackageManager;

privateGridViewmAppGrid;

privateListmAppList;

privateDrawablemColorDrawable;

privateGridViewAdaptermAdapter=null;

privatestaticintmAppState=0;

privatestaticfinalintAPP_DELFINISHED=0x1;

publicMainActivity(){

//TODOAuto-generatedconstructorstub

}

@Override

publicbooleanonKeyDown(intkeyCode,KeyEventevent){

if(keyCode==KeyEvent.KEYCODE_BACK&&event.getRepeatCount()==0){

if(mAppState==1){

//resetAllAppIcon();

refreshAppList();

returntrue;

}

}

returnsuper.onKeyDown(keyCode,event);

}

@Override

protectedvoidonCreate(BundlesavedInstanceState){

//TODOAuto-generatedmethodstub

super.onCreate(savedInstanceState);

mAppList=newArrayList();

getAppList(mAppList);

setContentView(R.layout.activity_main);

mAppGrid=(GridView)findViewById(R.id.app_list_grid);

mAppGrid.setNumColumns(calculatorNumColumn());

mAdapter=newGridViewAdapter(mAppList,this,mPackageManager);

mAppGrid.setAdapter(mAdapter);

mAppGrid.setOnItemClickListener(clickListener);

mAppGrid.setOnItemLongClickListener(itemLongClickListener);

//mAppGrid.setOnTouchListener(newPicOnTouchListener());

}

@Override

protectedvoidonResume(){

//TODOAuto-generatedmethodstub

super.onResume();

}

@Override

protectedvoidonPause(){

//TODOAuto-generatedmethodstub

super.onPause();

}

@Override

protectedvoidonDestroy(){

//TODOAuto-generatedmethodstub

super.onDestroy();

}

OnItemClickListenerclickListener=newOnItemClickListener(){

@Override

publicvoidonItemClick(AdapterView

>parent,Viewview,intposition,longid){

if(mAppState==1){

PackageInfoinfo=mAppList.get(position);

//Activity

UripackageURI=Uri.parse("package:

"+info.applicationInfo.packageName);

IntentuninstallIntent=newIntent(Intent.ACTION_DELETE,packageURI);

startActivityForResult(uninstallIntent,APP_DELFINISHED);

}

}

};

@Override

protectedvoidonActivityResult(intrequestCode,intresultCode,Intentdata){

//TODOAuto-generatedmethodstub

super.onActivityResult(requestCode,resultCode,data);

}

OnItemLongClickListeneritemLongClickListener=newOnItemLongClickListener(){

@Override

publicbooleanonItemLongClick(AdapterView

>arg0,Viewarg1,intarg2,longarg3){

//TODOAuto-generatedmethodstub

animAllAppIcon();

returntrue;

}

};

privatevoidgetAppList(Listlist){

mPackageManager=getPackageManager();

Listpacks=mPackageManager.getInstalledPackages(0);

if(packs!

=null&&packs.size()>0){

for(PackageInfoinfo:

packs){

if((info.applicationInfo.flags&ApplicationInfo.FLAG_SYSTEM)==0&&

(info.applicationInfo.flags&ApplicationInfo.FLAG_UPDATED_SYSTEM_APP)==0){

list.add(info);

}

}

}

}

privatevoidrefreshAppList(){

mAppList.clear();

getAppList(mAppList);

mAdapter.setData(mAppList);

mAdapter.notifyDataSetChanged();

mAppState=0;

}

privatevoidanimAllAppIcon(){

intnCount=mAppGrid.getChildCount();

mColorDrawable=mAppGrid.getSelector();

mAppGrid.setSelector(newColorDrawable(Color.TRANSPARENT));

for(inti=0;i

Viewv=mAppGrid.getChildAt(i);

RelativeLayoutlayout;

Animationshake;

//if(i%2==0){

shake=AnimationUtils.loadAnimation(

MainActivity.this,R.anim.icon_anim_left);

shake.reset();

shake.setFillAfter(true);

//}

//else{

//shake=AnimationUtils.loadAnimation(

//MainActivity.this,R.anim.icon_anim_right);

//shake.reset();

//shake.setFillAfter(true);

//}

v.startAnimation(shake);

layout=(RelativeLayout)v.findViewById(R.id.view_delete);

layout.setVisibility(View.VISIBLE);

}

mAppState=1;

}

privatevoidresetAllAppIcon(){

intnCount=mAppGrid.getChildCount();

mAppGrid.setSelector(mColorDrawable);

for(inti=0;i

Viewv=mAppGrid.getChildAt(i);

RelativeLayoutlayout;

v.clearAnimation();

layout=(RelativeLayout)v.findViewById(R.id.view_delete);

layout.setVisibility(View.INVISIBLE);

}

mAppState=0;

}

privateintcalculatorNumColumn(){

intnCol=5;

android.view.Displaydisplay=getWindowManager().getDefaultDisplay();

intwidthPIX=display.getWidth();

finalfloatscale=getResources().getDisplayMetrics().density;

nCol=(int)(widthPIX/scale/80);

returnnCol;

}

/*privateclassPicOnTouchListenerimplementsOnTouchListener{

@Override

publicbooleanonTouch(Viewv,MotionEventevent){

if(mAppState==1){

resetAllAppIcon();

}

returntrue;

}

}*/

}

2.GridViewAdapter

publicclassGridViewAdapterextendsBaseAdapter{

ListmAppList=null;

PackageManagermPackageManager=null;

ViewmView=null;

ContextmContext=null;

publicGridViewAdapter(Listlist,Contextcontext,PackageManagermanager){

mAppList=list;

mContext=context;

mPackageManager=manager;

}

@Override

publicintgetCount(){

returnmAppList.size();

}

@Override

publicObjectgetItem(intposition){

returnmAppList.get(position);

}

@Override

publiclonggetItemId(intposition){

returnposition;

}

@Override

publicViewgetView(intposition,ViewconvertView,ViewGroupparent){

ImageViewi;

TextViewt;

if(convertView==null){

convertView=LayoutInflater.from(mContext).inflate(R.layout.app_list_item,null);

}

i=(ImageView)convertView.findViewById(R.id.img_appicon);

t=(TextView)convertView.findViewById(R.id.txt_appname);

i.setScaleType(ImageView.ScaleType.FIT_CENTER);

PackageInfoinfo=mAppList.get(position);

i.setImageDrawable(info.applicationInfo.loadIcon(mPackageManager));

t.setText(info.applicationInfo.loa

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1