安卓开发实验报告
- 格式:docx
- 大小:259.73 KB
- 文档页数:14
实验一Android开发环境搭建一、实验内容1)了解Android开发所需要的开发包和工具,以及获得它们的方式;2)下载、安装和配置Android开发包;3)测试安装的开发环境,创建了一个Android项目;4)在模拟器上运行和调试Android应用程序,并将该应用程序安装到Android手机上。
二、实验步骤1、参考《Android应用开发揭秘》的第一章,学习了解什么是Android系统以及Android的系统架构、Android应用程序框架;2、参考《Android应用开发揭秘》的第二章2。
2,从FTP上下载java JDK 和Eclipse放在安装目录下,Eclipse直接将下载的压缩包解压即可.对于JDK 双击安装,然后对java的开发环境进行配置:设置环境变量创建“Path”变量名,添加JDK安装目录中“bin”文件夹路径;创建“CLASSPATH”变量,添加JDK安装目录中“lib”以及“demo”的路径;最后进行测试是否安装成功.3、下载安装Android SDK,选择安装Android 2。
3.3版本。
4、安装完成后配置Android SDK,将Android SDK安装目录中的tools文件夹路径添加到环境变量中,更改系统变量中的“Path”项,添加路径:5、安装和配置ADT,参照Android应用开发秘籍,启动Eclipse,点击“Help”菜单,按照步骤,在“Add Site…"之后,文本框里输入地址http://dl-ssl。
google。
com/android/eclipse/。
打开菜单“Windows”,依次选择“Preferences”—>“Android”,点击浏览选择Android SDK的安装路径,点击OK;然后打开菜单“File”,如下图查看得安装配置成功。
6、创建第一个Android项目HelloAndroid,新建项目,选择“Android Application Project”子项,如图。
实验一Android开发基础实验时间:2018.3.16实验地点:X501一、实验目的1. 掌握Android开发环境的搭建;2. 了解Android SDK的安装、配置、使用;3. 熟悉开发工具Android Studio的使用;4. 了解创建项目并熟悉文件目录结构;二、实验学时2学时/次,共2学时三、实验环境Android Studio;JDK1.7;PC机四、实验内容和要求1.Android Studio安装(1) Android Studio的下载与安装前提准备工作:安装JDK 并配置JDK 环境变量。
请使用传统的JA V A_HOME 环境变量名称。
很多人会被提醒JVM 或者JDK 查找失败,几乎都是因为JDK 版本或者没有使用JA V A_HOME 这个环境变量名称的原因。
①Android Studio可以从中文社区进行下载,网址为/。
在浏览器中打开该网址,如图1-1所示。
图1-1 Android Studio官方网站②选择合适的平台,进行下载,如图1-2所示。
图1-2 Java platform(JDK)③安装之前,要确定JDK版本必须是1.7或以上,否则安装之后会报错。
双击Android Studio的安装文件,按照提示一步步安装,具体参考教材。
不出意外的话,看到图1-3所示的界面,说明Android Studio已经安装成功了。
图1-3 Android Studio已经安装成功2. 配置Android Studio安装Android Studio完成之后,运行Android Studio。
每一次安装,都会显示图1-4所示的这个界面,用以选择导入Android Studio的配置文件。
第一个选项:使用以前版本的配置文件夹。
第二个选项:导入某一个目录下的配置文件夹。
第三个选项:不导入配置文件夹。
如果你以前使用过Android Studio,可以选择到以前的版本。
如果你是第一次使用,可以选择第三项。
安卓实训报告本文主要介绍本人参加的安卓实训的情况和所学习的内容,包括课程设置、实训内容、实验环境以及感受和体会。
一、课程设置本次安卓实训是由学校计算机学院组织的,共计5个工作日。
实训内容主要包括Android应用开发的基础知识、Android开发工具的使用和实际应用开发。
二、实训内容1. 安卓应用开发的基础知识在实训中,我们先学习了Android系统的架构和Android应用开发的基础知识,包括四大组件、应用程序基础构建块、SharedPreferences共享偏好、Android的数据存储和访问方式以及常用控件等。
这些基础知识对于后续的应用开发非常重要。
2. Android开发工具的使用接下来,我们学习了Android开发工具的使用。
首先是安装和配置IDEA开发工具。
然后是熟悉Android Studio的界面和操作方法,包括创建项目、编写代码、管理SDK、调试等。
通过这些实操,我对Android开发工具的使用有了更深入的了解和掌握。
3. 实际应用开发最后,我们实现了一个简单的安卓应用程序,包括登录、注册和查询功能。
在这个过程中,我学习了如何使用SQLite数据库进行数据存储和查询,如何通过接口进行网络请求和反馈,如何使用JSON解析数据等。
三、实验环境实训的实验环境是一台安装了Windows 10 64位操作系统的电脑,通过Android Studio配置好了相关的开发环境和SDK,以及模拟器和真机调试。
在实践中,我们对模拟器和真机调试都进行了测试,深入了解了它们的特点和优缺点。
四、感受和体会通过这次实训,我对安卓开发有了更详细的认识,掌握了应用开发的基础知识和技能。
通过实践,我不仅能够熟练使用Android Studio进行开发,还能够自己开发一个简单的安卓应用程序。
这个实训对我的职业生涯和学习都具有重要的意义。
此外,我还深刻认识到,程序开发是一个需要不断学习和实践的过程。
只有坚持学习并不断实践,才能在这个领域中不断进步和提升自己的技能。
<<Web开发技术>>大作业设计题目:Web开发技术实验学院:专业:班级:1班2班姓名:学号:2姓名:学号:2姓名:学号:2姓名:学号:22015年月日山东科技大学实验一页面跳转一、实验目的通过使用Java语言,在Android环境下实现页面跳转,加深对Android开发的理解。
二、实验环境:Windows8.1 64位系统+ Android Developer Tools三、实验步骤:1.新建项目工程android,框线部分为整个项目要完成的代码和配置部分:2.拖拽button和textfield到activity_index.xml画布上,位置如图:3.编写代码Index.java划线部分的代码:4.Scancode.java接收片段代码,拖拽一个text field接收:5.查看修改android Manifest.xml文件,如下图:四、实验结果实验二URI跳转一、实验目的实现URI跳转即百度链接跳转,加深对Android开发的理解,为后面的学习奠定基础。
二、实验环境:Windows8.1 64位系统+ Android Developer Tools三、实验步骤:1.新建activity: Summary.java:2.添加页面及代码:四、实验结果1.完成页面如图:2.跳转至百度页面所示如图:实验三TextView超链接一、实验目的添加TextView超链接,加深对Android开发所使用控件的理解,全面掌握Android开发所使用的各种控件。
二、实验环境:Windows8.1 64位系统+ Android Developer Tools三、实验步骤:1.打开Form Widgets,将TextView拖到画布上:四、实验结果所添加的TextView超链接如图所示:实验四TextView改变样式一、实验目的改变TextView样式,对控件进行更进一步的修改,全面掌握Android开发过程中的页面布局。
安卓开发实习报告【篇一:android实习报告】武汉工程大学计算机科学和工程学院专业实习报告专业班级学号学生姓名指导教师实习时间计算机科学和技术 2012信息技术02 1205110207 方成钢邬少飞(副教授)陈艳(讲师)刘军(副教授) 2015~2016学年第1学期 2015.7.13至2015.7.31实习成绩武汉工程大学计算机科学和工程学院制说明:1、实习指导教师由学院校内教师担任,负责组织实习、学生管理、参加实习答辩、实习成绩评定、给出实习评语等工作。
2、实习报告由武汉工程大学计算机科学和工程学院提供基本格式(适用于学院各专业),各教研室和指导教师可根据本专业特点及实习内容做适当的调整,学生须按指导教师下达的实习报告格式认真进行填写。
3、实习成绩由指导教师根据学生的实习情况给出各项分值及总评成绩。
4、指导教师评语一栏由实习指导教师(校内教师)就学生在整个实习期间的表现给出客观、全面的评价,包括实习期间的表现、实习报告的质量、实习答辩的情况等。
5、学生必须参加实习答辩,凡不参加实习答辩者,实习成绩一律按不及格处理。
实习答辩小组应由2人及以上教师组成,其中校内指导教师必须参加,否则视作无效答辩。
6、实习报告正文字数应不少于5000字,实习日记字数不少于500字/天。
7、实习报告正文中实习目的和任务、实习地点、实习内容和要求等项,可由指导教师统一给出(自主实习除外)。
学生自主实习的,可根据实习的情况自行填写以上内容。
8、自主实习的学生还应提供由实习单位出具的实习鉴定表(复印件),和实习报告一起装订,作为参加实习答辩和评定成绩的依据。
学生姓名:方成钢学号: 1205110207 班级: 2012信息技术02武汉工程大学计算机科学和工程学院专业实习报告一、实习目的和任务实习目的:1. 体验和适应企业中型团队项目开发全过程。
2. 熟练掌握当前业界主流的软件技术。
3. 具备对前沿信息技术的独立研究和使用能力。
安卓实验报告Android是目前全球最为流行的操作系统之一,其强大的应用程序生态系统和广泛的设备兼容性使得安卓成为开发者和用户的首选。
本文将介绍我在安卓实验中进行的一系列任务和实验结果。
实验一:安装开发环境在进行安卓开发之前,我们首先需要安装必要的开发环境。
我使用的是Android Studio,这是谷歌官方提供的开发工具,具有强大的功能和友好的用户界面。
通过安装Android Studio,我成功搭建了安卓开发环境,并进行了一些基本的配置。
实验二:创建第一个安卓应用程序根据老师的指导,我按照步骤成功创建了我的第一个安卓应用程序。
我选择了一个简单的计算器应用程序作为开始,它可以实现基本的加法和减法功能。
通过这个实验,我学会了使用Android Studio的界面设计工具和编写基本的Java代码。
实验三:UI设计和布局在这个实验中,我学习了安卓应用程序的用户界面设计和布局。
我使用了安卓提供的各种布局方式,如线性布局、相对布局和帧布局等,来设计和展示应用程序的不同界面。
通过这个实验,我对安卓界面设计的原则和技巧有了更深入的理解。
实验四:应用程序调试与测试在开发过程中,调试和测试是非常重要的环节。
通过Android Studio提供的调试工具,我能够针对应用程序中的问题进行定位和修复。
我还学会了使用模拟器和真机进行应用程序的测试,以确保应用程序的功能和稳定性。
实验五:数据库操作在这个实验中,我学习了如何在安卓应用程序中使用数据库。
我使用了SQLite数据库来存储和管理应用程序的数据。
通过编写SQL语句,我能够进行数据的插入、查询、更新和删除等操作。
这为我今后的应用程序开发提供了非常有用的技能。
总结:。
实习报告一、实习背景与目的随着移动互联网的快速发展,安卓(Android)操作系统在智能手机市场中占据着举足轻重的地位。
安卓程序开发成为了计算机科学与技术领域中的热门方向。
为了提高自己的实际动手能力和理论知识的应用能力,我选择了安卓程序开发作为实习内容。
本次实习旨在学习安卓应用开发的流程与技巧,培养自己的创新思维和团队协作能力。
二、实习内容与过程1. 实习前的准备在实习开始前,我首先学习了安卓开发的基础知识,包括安卓系统架构、安卓应用开发框架、安卓编程语言(Java/Kotlin)等。
同时,我还熟练掌握了安卓开发工具的使用,如Android Studio、ADB(Android Debug Bridge)等。
2. 实习过程中的学习与实践实习过程中,我参与了多个安卓项目的开发,涉及到了不同类型的应用,如社交、娱乐、教育等。
在项目开发过程中,我主要负责以下几个方面的工作:(1)需求分析:与项目经理和产品经理沟通,了解项目的功能需求、界面设计和用户体验等要求。
(2)界面设计:根据需求分析,设计应用的界面布局,使用XML或Json等格式进行描述。
(3)功能实现:编写Java或Kotlin代码,实现应用的核心功能,如用户登录、数据存储、网络请求等。
(4)调试与优化:使用ADB等工具对应用进行调试,找出并修复存在的问题,对性能进行优化。
(5)版本迭代:根据用户反馈和需求变更,对应用进行更新和优化。
3. 实习成果通过实习,我成功开发了几款安卓应用,并完成了项目的迭代与优化。
其中,一款社交应用获得了用户的好评,取得了不错的市场表现。
同时,我也学会了如何阅读安卓开发的文档和源代码,提高了自己的技术水平。
三、实习收获与反思1. 实习收获(1)掌握了安卓开发的基本知识和技能,能够独立完成安卓应用的开发。
(2)学会了与团队成员沟通协作,提高了自己的团队协作能力。
(3)培养了创新思维,能够在实际项目中解决问题和提出改进方案。
android应用开发实验报告Android应用开发实验报告引言:随着智能手机的普及,移动应用的需求也越来越大。
作为目前最主流的移动操作系统之一,Android平台的应用开发变得越来越重要。
本实验报告将介绍我在Android应用开发实验中所学到的知识和经验,以及我开发的一个简单应用的过程和成果。
一、实验背景移动应用开发已经成为互联网行业的热门方向之一。
Android平台作为全球最大的移动操作系统之一,具有广泛的用户基础和开放的生态系统,因此学习和掌握Android应用开发技术对于未来的职业发展非常有帮助。
二、实验目的通过本次实验,我希望能够掌握Android应用开发的基本流程和技术,包括应用的界面设计、交互逻辑的实现以及与后台服务的通信等。
同时,我也希望能够培养自己的创新思维和解决问题的能力。
三、实验过程1. 环境搭建在开始实验之前,我首先需要搭建好Android开发环境。
我下载并安装了Android Studio,这是官方推荐的Android开发工具,提供了丰富的开发工具和模拟器来辅助开发。
2. 学习基础知识在进入实际开发之前,我花了一些时间学习Android应用开发的基础知识,包括Java编程语言、XML布局文件的编写以及Android应用的生命周期等。
这些基础知识为我后续的实际开发打下了坚实的基础。
3. 设计应用界面在设计应用界面时,我首先考虑了用户的使用习惯和界面的美观度。
我使用Android Studio提供的可视化界面编辑器,通过拖拽和调整组件的位置和属性,设计出了一个简洁而实用的界面。
4. 实现交互逻辑应用的交互逻辑是实现应用功能的核心部分。
我使用Java语言编写了一些代码,实现了用户与应用之间的交互逻辑。
例如,当用户点击一个按钮时,应用会执行相应的操作,并显示结果给用户。
5. 与后台服务通信现在的应用很少能够独立完成所有功能,往往需要与后台服务进行通信。
我使用了Android提供的网络通信库,编写了一些代码,实现了与后台服务的数据交互。
android开发实验报告总结《android 开发实验报告总结》在当今科技飞速发展的时代,移动应用开发成为了热门领域之一,其中 Android 开发更是备受关注。
通过本次 Android 开发实验,我获得了丰富的实践经验和深刻的技术理解。
接下来,我将详细阐述这次实验的各个方面。
实验背景与目标随着智能手机的普及,Android 操作系统占据了相当大的市场份额。
本次实验的目标是通过实际开发一个简单的 Android 应用程序,深入了解 Android 开发的流程、技术架构以及相关工具的使用,从而提高自己的编程能力和解决问题的能力。
实验环境与工具在实验过程中,我们使用了 Android Studio 作为主要的开发工具。
Android Studio 提供了丰富的功能,包括代码编辑、调试、版本控制等,极大地提高了开发效率。
同时,还需要安装 Java 开发环境(JDK)以及 Android SDK 等必要的组件。
实验内容与步骤首先是项目创建。
在Android Studio 中,通过选择合适的项目模板,设定项目名称、包名等基本信息,创建了一个初始的 Android 项目框架。
接着是界面设计。
利用 XML 布局文件,定义了应用的界面元素,如按钮、文本框、列表等,并通过设置属性来调整它们的外观和位置。
同时,使用了 ConstraintLayout 等布局管理器,实现了灵活且美观的界面布局。
然后是功能实现。
通过编写 Java 代码,实现了应用的各种功能逻辑。
例如,点击按钮触发相应的事件处理,从网络获取数据并展示在界面上,以及与本地数据库进行交互等。
在数据存储方面,学习和使用了 SharedPreferences 来保存简单的配置信息,以及 SQLite 数据库来存储复杂的数据结构。
在网络通信方面,使用了 HttpURLConnection 或者 Volley 等库来发送 HTTP 请求,获取服务器端的数据。
调试与测试在开发过程中,不可避免会遇到各种问题。
第1篇一、实验目的1. 熟悉安卓开发环境及工具的使用。
2. 掌握安卓应用程序的基本开发流程。
3. 学习安卓界面设计、布局、事件处理等基本技能。
4. 提高编程能力及团队协作能力。
二、实验环境1. 操作系统:Windows 102. 开发工具:Android Studio3.53. 编程语言:Java4. 虚拟机:Android 9.0 (Pie)三、实验内容1. 创建安卓项目2. 设计界面3. 编写功能代码4. 测试与调试四、实验步骤1. 创建安卓项目(1)打开Android Studio,点击“Start a new Android Studio project”;(2)选择“Empty Activity”模板,点击“Next”;(3)输入项目名称、保存位置等信息,点击“Finish”;(4)在项目目录中,找到MainActivity.java文件,修改其中的代码,以实现特定功能。
2. 设计界面(1)打开res/layout/activity_main.xml文件;(2)使用布局编辑器设计界面,添加控件(如Button、EditText等);(3)设置控件的属性(如文本、颜色、大小等)。
3. 编写功能代码(1)在MainActivity.java文件中,编写代码实现功能;(2)例如,编写按钮点击事件,实现数据计算、页面跳转等操作。
4. 测试与调试(1)在Android Studio中,点击“Run”按钮,启动模拟器或连接真机进行测试;(2)观察程序运行效果,如有问题,进行调试;(3)根据需要,修改代码,直至程序正常运行。
五、实验结果与分析1. 实验结果本次实验成功创建了一个安卓应用程序,实现了简单的功能,如按钮点击事件、页面跳转等。
2. 实验分析(1)在创建安卓项目时,熟悉了Android Studio的使用,掌握了项目结构及文件管理方法;(2)在设计界面时,学会了使用布局编辑器,掌握了常用控件的属性设置;(3)在编写功能代码时,学习了Java编程语言的基本语法,掌握了事件处理及页面跳转等操作;(4)在测试与调试过程中,提高了问题定位及解决能力。
安卓开发实验报告目录一、页面跳转二、长按图标抖动以及显示删除一、页面跳转功能:通过点击button实现2个activity之间的跳转。
1.设置监听器监听点击button2.使用intent传输数据完整代码1.ui_test.javapublicclass UI_Test extends Activity {@Overrideprotectedvoid onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.incident_activity_1);Button bt = (Button)findViewById(R.id.login);bt.setOnClickListener(new OnClickListener());}class OnClickListener implements View.OnClickListener{publicvoid onClick(View v){EditText name = (EditText)findViewById();EditText password = (EditText)findViewById(R.id.password);Bundle data=new Bundle();data.putString("name", name.getText().toString());data.putString("password", password.getText().toString());Intent intent = new Intent(UI_Test.this,UI_Result.class);intent.putExtras(data);startActivity(intent);}}2.ui_result.javapublicclass UI_Result extends Activity {@Overrideprotectedvoid onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.incident_activity_2);TextView name = (TextView)findViewById(Show);TextView password = (TextView)findViewById(R.id.passwordShow);Intent intent=getIntent();Bundle result = intent.getExtras();name.setText("您的用户名为: "+result.getString("name"));password.setText("您的密码为: "+result.getString("password"));}}3.activity_1.xml<?xml version="1.0"encoding="utf-8"?><TableLayout xmlns:android="/apk/res/android" android:layout_width="fill_parent"android:layout_height="fill_parent"><TextViewandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:text="请输入您的信息"android:textSize="20sp"/><TableRowandroid:id="@+id/tableRow1"android:layout_width="fill_parent"android:layout_height="wrap_content"><TextViewandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:text="用户名"android:textSize="16sp"/><EditTextandroid:id="@+id/name"android:layout_width="fill_parent"android:layout_height="wrap_content"android:hint="请填写登录用户名"android:selectAllOnFocus="true"><requestFocus/></EditText></TableRow><TableRowandroid:id="@+id/tableRow2"android:layout_width="fill_parent"android:layout_height="wrap_content"><TextViewandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:text="请输入密码"android:textSize="16sp"/><EditTextandroid:id="@+id/password"android:layout_width="fill_parent"android:layout_height="wrap_content"android:password="true"android:selectAllOnFocus="true"><requestFocus/></EditText></TableRow><TableRowandroid:id="@+id/tableRow3"android:layout_width="fill_parent"android:layout_height="wrap_content"><Buttonandroid:id="@+id/login"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="登录"android:textSize="16sp"/></TableRow></TableLayout>4.activity_2.xml<?xml version="1.0"encoding="utf-8"?><LinearLayout xmlns:android="/apk/res/android" android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><TextViewandroid:id="@+id/nameShow"android:layout_width="fill_parent"android:layout_height="wrap_content"android:textSize="18sp"/><TextViewandroid:id="@+id/passwordShow"android:layout_width="fill_parent"android:layout_height="wrap_content"android:textSize="18sp"/></LinearLayout>二、长按图标抖动以及显示删除功能:将app列举在界面上,并且长按图标使图标进行抖动以及显示删除图标。
1.初始化一个gridview的适配器2.通过不停转动图标实现图标的抖动以及添加删除图标3.添加监听器实现长按图标使图标抖动及显示删除完整代码1.main_activity.javapublicclass MainActivity extends Activity {private PackageManager mPackageManager;private GridView mAppGrid;private List<PackageInfo>mAppList;private Drawable mColorDrawable;private GridViewAdapter mAdapter = null;privatestaticint mAppState = 0;privatestaticfinalint APP_DELFINISHED = 0x1;public MainActivity() {// TODO Auto-generated constructor stub}@Overridepublicboolean onKeyDown(int keyCode, KeyEvent event) {if (keyCode == KeyEvent.KEYCODE_BACK&&event.getRepeatCount() == 0){ if(mAppState == 1){//resetAllAppIcon();refreshAppList();returntrue;}}returnsuper.onKeyDown(keyCode, event);}@Overrideprotectedvoid onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);mAppList = new ArrayList<PackageInfo>();getAppList(mAppList);setContentView(yout.activity_main);mAppGrid = (GridView) findViewById(R.id.app_list_grid);mAppGrid.setNumColumns (calculatorNumColumn());mAdapter = new GridViewAdapter(mAppList,this,mPackageManager);mAppGrid.setAdapter(mAdapter);mAppGrid.setOnItemClickListener(clickListener);mAppGrid.setOnItemLongClickListener(itemLongClickListener);//mAppGrid.setOnTouchListener(new PicOnTouchListener());}@Overrideprotectedvoid onResume() {// TODO Auto-generated method stubsuper.onResume();}@Overrideprotectedvoid onPause() {// TODO Auto-generated method stubsuper.onPause();}@Overrideprotectedvoid onDestroy() {// TODO Auto-generated method stubsuper.onDestroy();}OnItemClickListener clickListener = new OnItemClickListener(){ @Overridepublicvoid onItemClick(AdapterView<?> parent, View view,int position,long id) {if(mAppState == 1){PackageInfo info = mAppList.get(position);//ActivityUri packageURI = Uri.parse("package:" +info.applicationInfo.packageName);Intent uninstallIntent = new Intent(Intent.ACTION_DELETE, packageURI);startActivityForResult(uninstallIntent,APP_DELFINISHED);}}};@Overrideprotectedvoid onActivityResult(int requestCode, int resultCode, Intent data) {// TODO Auto-generated method stubsuper.onActivityResult(requestCode, resultCode, data);}OnItemLongClickListener itemLongClickListener =new OnItemLongClickListener(){@Overridepublicboolean onItemLongClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {// TODO Auto-generated method stubanimAllAppIcon();returntrue;}};privatevoid getAppList(List<PackageInfo> list){mPackageManager = getPackageManager();List<PackageInfo> packs = mPackageManager.getInstalledPackages(0);if(packs != null&&packs.size() > 0){for(PackageInfo info: packs){if((info.applicationInfo.flags&ApplicationInfo.FLAG_SYSTEM)== 0 &&(info.applicationInfo.flags&ApplicationInfo.FLAG_UPDATED_SYSTEM_APP)==0) {list.add(info);}}}}privatevoid refreshAppList(){mAppList.clear();getAppList(mAppList);mAdapter.setData(mAppList);mAdapter.notifyDataSetChanged();mAppState = 0;}privatevoid animAllAppIcon(){int nCount = mAppGrid.getChildCount();mColorDrawable = mAppGrid.getSelector();mAppGrid.setSelector(new ColorDrawable(Color.TRANSPARENT));for(int i = 0 ;i<nCount; i ++){View v = mAppGrid.getChildAt(i);RelativeLayout layout;Animation shake;//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;}privatevoid resetAllAppIcon(){int nCount = mAppGrid.getChildCount();mAppGrid.setSelector(mColorDrawable);for(int i = 0 ;i<nCount; i ++){View v = mAppGrid.getChildAt(i);RelativeLayout layout;v.clearAnimation();layout = (RelativeLayout)v.findViewById(R.id.view_delete);layout.setVisibility(View.INVISIBLE);}mAppState = 0;}privateint calculatorNumColumn(){int nCol = 5;android.view.Display display = getWindowManager().getDefaultDisplay();int widthPIX = display.getWidth();finalfloat scale = getResources().getDisplayMetrics().density;nCol = (int)(widthPIX/scale/80);return nCol;}/*private class PicOnTouchListener implements OnTouchListener{@OverridepublicbooleanonTouch(View v, MotionEvent event){if(mAppState == 1){resetAllAppIcon();}return true;}} */}2.GridViewAdapterpublicclass GridViewAdapter extends BaseAdapter {List<PackageInfo>mAppList = null;PackageManager mPackageManager = null;View mView = null;Context mContext = null;public GridViewAdapter(List<PackageInfo> list, Contextcontext,PackageManager manager) {mAppList = list;mContext = context;mPackageManager = manager;}@Overridepublicint getCount() {return mAppList.size();}@Overridepublic Object getItem(int position) {return mAppList.get(position);}@Overridepubliclong getItemId(int position) {return position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) { ImageViewi;TextView t;if (convertView == null) {convertView =LayoutInflater.from(mContext).inflate(yout.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);PackageInfo info = mAppList.get(position);i.setImageDrawable(info.applicationInfo.loadIcon(mPackageManager));t.setText(info.applicationInfo.loadLabel(mPackageManager));return convertView;}publicvoid setData(List<PackageInfo> list){mAppList = list;}}3.activity_main.xml<?xml version="1.0"encoding="utf-8"?><LinearLayout xmlns:android="/apk/res/android" android:layout_width="match_parent"android:layout_height="match_parent"android:layout_marginTop="20dip"android:layout_marginBottom="20dip"android:layout_marginLeft="10dip"android:layout_marginRight="10dip"android:orientation="vertical"><GridViewandroid:id="@+id/app_list_grid"android:layout_width="match_parent"android:layout_height="match_parent"android:verticalSpacing="0dip"android:horizontalSpacing="0dip"android:numColumns="5"></GridView></LinearLayout>4.app_list_item.xml<?xml version="1.0"encoding="utf-8"?><LinearLayout xmlns:android="/apk/res/android" android:layout_width="wrap_content"<FrameLayoutandroid:id="@+id/icon_framelayout"android:layout_centerInParent="true"android:layout_width="wrap_content"android:layout_height="wrap_content"><LinearLayoutandroid:id="@+id/view_app_info"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical"android:layout_marginTop="5dip"android:layout_marginBottom="5dip"android:layout_marginLeft="5dip"android:layout_marginRight="5dip"android:visibility="visible"><ImageViewandroid:id="@+id/img_appicon"android:layout_width="@android:dimen/app_icon_size"android:layout_height="@android:dimen/app_icon_size"android:contentDescription="@null"android:layout_gravity="center_horizontal"android:src="@drawable/ic_launcher"/><TextViewandroid:id="@+id/txt_appname"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="12sp"android:maxLines="2"android:layout_gravity="center_horizontal"/></LinearLayout><RelativeLayoutandroid:id="@+id/view_delete"android:layout_width="fill_parent"android:layout_height="fill_parent"android:visibility="invisible"><ImageViewandroid:id="@+id/cross_icon"android:layout_width="24dp"android:layout_height="24dp"android:layout_alignParentRight="true"android:padding="0dp"android:src="@drawable/ic_delete"/> </RelativeLayout></FrameLayout></LinearLayout>。