Android开发之旅
文章平均质量分 75
本人学习Android的过程
优惠券已抵扣
余额抵扣
还需支付
¥9.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
小哥、
这个作者很懒,什么都没留下…
展开
-
Android面试题以及答案2023
横切关注点通常是与业务逻辑无关的功能,比如日志记录、性能统计、安全检查等,这些功能通常散布在应用的各个模块中,如果采用传统的编程方式来实现这些功能,代码会变得复杂、难以维护和扩展。Presenter可以根据业务逻辑的需要,从Model中获取数据,并将数据传递给View进行展示,同时也可以接收View的用户交互事件,并根据需要更新Model的数据。5、使用Handler和消息机制:Handler和消息机制是Android应用程序中常用的线程通信方式,它可以将子线程中的任务发送给主线程执行,从而更新UI界面。原创 2023-03-21 12:49:09 · 467 阅读 · 0 评论 -
图文来教你在eclipse下用gradle 来打包Android
gradle其他好处就不多说,在android应用发布的时候,如果要统计多个渠道,gradle 批量打包的好处就显示出来了;下面介绍图文来介绍按eclipse的导出时 选择Android;如下图 然后按下面一步一步往下点点击完成之后 工程里面就生成了如下的几个文件;也就是gradle的配置文件打开gradle-wrapper.properties这个文件;可以看原创 2014-11-18 11:28:05 · 32670 阅读 · 9 评论 -
Android 依赖注入函数库Roboguice(一)
Roboguice是一个用于Android应用的依赖注入框架,使用Google官方的Guice库位极大地简化了Android的依赖注入。使用他使编程变得更加简单有趣。使用Roboguice需要几个jar点击下载 下载知道导入到自己的项目中使用Roboguice是Activity页面需要继承RoboActivity/** * */package com.example.robog原创 2014-11-17 15:11:51 · 2360 阅读 · 1 评论 -
好久没用广播了 忘记了
问题:当你的导航在TabActivity中 而子页面的一个按钮需要切换到其中的某一个导航页面 转载请注明出处:http://blog.csdn.net/x605940745demo下载地址:http://download.csdn.net/detail/x605940745/7353695package com.example.shows;import android.app.原创 2014-05-15 22:50:58 · 1624 阅读 · 0 评论 -
Android之UtilsRequesServicetHelp工具类
本人经常与服务器交互用到的方法总结(部分)package com.example.getnetutil;import java.io.BufferedReader;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileOutputStream;import java.io.IOExce原创 2014-04-24 20:02:08 · 1503 阅读 · 0 评论 -
Android之应用首次使用的欢迎界面实例
关键代码如下:package com.chinaideal.bkclient.tabmain;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.content.Context;import android.content.Intent;impor原创 2014-04-10 20:56:00 · 14044 阅读 · 9 评论 -
TabHost底部导航知识回顾之模仿微信导航
以前用Fragment模仿过微信底部导航 不过最近一个简单的项目准备用TabHost来做底部导航 所以回顾了一下TabHost的知识,做了一个简单的用TabHost来模仿微信导航的demo 因为图片的都是用以前的图片东西 需要的可以看Fragment之模仿微信界面 所以只贴出关键代码 效果如下图:<TabHost xmlns:android="http://schem原创 2014-04-09 22:24:29 · 7052 阅读 · 1 评论 -
解决ScrollView嵌套ListView单行显示实例
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width原创 2014-04-08 15:51:02 · 2982 阅读 · 0 评论 -
Android之ListView优化
面试中经常问到listView优化的问题,个人回答主要如下1、View重用 使用setTag把view缓存起来2、适配器在主线程修改3、在主线程提交适配器的变化,并调用notifyDataSetChanged()方法4、可以在任何地方获取数据,但应该在另外一个地方请求数据,数据多次请求分次显示简单实例:package com.android.listviewte原创 2014-03-26 21:00:55 · 4756 阅读 · 0 评论 -
Android之pull解析服务端的XML
本人在百度云存储的XMLhttp://bcs.duapp.com/meinvlook/books.xml1、Android中XML三种解析方式三种方式:pull、dom和saxpull在android 集成了这种解析,性能和sax差不多,个人认为用来来比sax解析容易多了;采用事件驱动进行解析。dom(Document Object Model)文档对象模型:是W3C组织推荐的解析XM原创 2014-03-12 12:28:43 · 1606 阅读 · 0 评论 -
Android按键之Menu详解
Android手机一般都有三个键,返回键、Home键、菜单键;Android系统的菜单支持主要通过4个接口来实现。从上图可以看出Menu是一个父类接口,它下面有两个子类一个是ContextMenu:它表示是一个上下文菜单,SubMenu表示一个子菜单。它们都可以包含一个或多个的MenuItem菜单项Menu接口定义了两个方法来添加菜单项和添加子菜单。一个通过add()方法添加菜原创 2014-03-09 17:20:34 · 12654 阅读 · 0 评论 -
Android之AsyncTask面试
AsyncTask的执行分为四个步骤onPreExecute():当任务执行之前开始调用此方法,可以在这里显示进度对话框doInBackground(Params...)此方法在后台线程执行,完成任务的主要工作,通常需要较长的时间。执行过程中可以调用public Progress(Progress...)来更新任务的进度onProgressUpdate(Progress...)此方原创 2014-03-03 21:12:36 · 2041 阅读 · 0 评论 -
Android之MediaRecorder进行录影
MediaRecorder进行录影和录音没什么差别 ,就多了一个设置图像的格式参考http://blog.csdn.net/x605940745/article/details/18405951 实例: <RelativeLayout xmlns:android="http://schemas.andr原创 2014-01-22 16:11:01 · 2930 阅读 · 0 评论 -
Android之Camera控制拍照
使用Camera控制拍照的几个步骤: 1、调用Camera的open()打开相机 2、调用Camera的getParameters()获取拍照参数。该方法返回一个Camera.Paremeters对象 3、调用Camera.Parameters对象方法设置拍照的参数 4、调用Camera.startPreview()方法开始预览取景,在预览取景之前需要调用Camera的setPre原创 2014-01-22 10:13:50 · 5265 阅读 · 4 评论 -
Android音频录制MediaRecorder之简易的录音软件
使用MediaRecorder的步骤: 1、创建MediaRecorder对象 2、调用MediRecorder对象的setAudioSource()方法设置声音的来源,一般传入MediaRecorder.MIC 3、调用MediaRecorder对象的setOutputFormat()设置所录制的音频文件的格式 4、调用MediaRecorder对象的setAudioRn原创 2014-01-21 13:44:59 · 7290 阅读 · 1 评论 -
使用MediaPlayer和SurfaceView播放视频
使用MediaPlayer播放视频的步骤 1、创建MediaPlyer的对象,并让他加载指定的视频文件。 2、在界面布局文件中定义SurfaceView组件,或在程序中创建SurfaceView组件。并为SurfaceView的SurfaceHolder添加Callback监听器。 3、调用MediaPlayer对象的setDisplay(Surfaceo原创 2014-01-15 13:42:38 · 31243 阅读 · 2 评论 -
Android之VideoView播放视频
通过VideoView播放视频的步骤: 1、在界面布局文件中定义VideoView组件,或在程序中创建VideoView组件 2、调用VideoView的如下两个方法来加载指定的视频 setVidePath(String path):加载path文件代表的视频 setVideoURI(Uri uri):加载uri所对应的视频3、调用VideoVi原创 2014-01-14 15:57:49 · 86214 阅读 · 9 评论 -
Android之ListView分页数据加载
1、效果如下:实例如下: 上图的添加数据按钮可以换成一个进度条 因为没有数据所以我加了一个按钮添加到数据库用于测试;一般在服务器拉去数据需要一定的时间,所以可以弄个进度条来提示用户:点击加载按钮的时候,向数据库读取一次数据,把读取的数据追加到原来的数据集中;然后显示出来package com.exampleandroid.xiong.listviewpages;原创 2014-01-02 17:28:08 · 10705 阅读 · 0 评论 -
Android之实现手电筒实例
主要实现两个步骤: 1、实现打开和关闭闪光灯;而实现操作闪光灯主要通过Camera类 Camera camera = Camera.open(); Parameters mParameters = camera.getParameters(); mParameters.setFlashMode(Camera.Parameter原创 2013-12-26 15:27:51 · 12023 阅读 · 1 评论 -
Android之向中国天气网发送GET请求获取JSON数据实例
中国天气网weather.com http://m.weather.com.cn/data/101110101.html(六天预报)其中101110101表示城市代码 可以在中国天气网查到各个城市的天气预报实例:package com.android.xiong.jsontest;import java.util.concurrent.Callable;import原创 2013-12-19 14:12:21 · 7922 阅读 · 3 评论 -
Fragment之模仿微信界面
Fragment要点Fragment作为Activity界面的一部分组成出现可以在一个Activity中同时出现多个Fragment,并且,一个Fragment亦可在多个Activity中使用。在Activity运行过程中,可以添加、移除或者替换Fragment(add()、remove()、replace())Fragment可以响应自己的输入事件,并且有自己的生命周期,当然,它们的生命原创 2013-12-16 12:45:05 · 9272 阅读 · 1 评论 -
Service详解
Service是可执行的应用程序组件,与Activity一样也有相应的生命周期。 开发Service分为两个步骤: 1、定义一个Service子类;public class TestOneService extends Service { // 必须实现的方法 应用程序可以通过返回的对象实现与Serivce组件的通信 @Override public IBinder onB原创 2013-12-10 17:08:50 · 1883 阅读 · 1 评论 -
android之使用原始资源
android中没有提供专门支持的文件 叫原始资源文件。android原始资源一般放在/res/raw目录和/assets/目录下;在assets目录下的文件通过AssetMananger来管理,它提供了几个常用的方法来访问Assets资源InputStream open(String fileName):根据文件名来获取原始资源对应的输入流;AssetFileDescriptor o原创 2013-12-04 10:45:29 · 5176 阅读 · 0 评论 -
XML解析实例
package com.android.xiong.xmlrestest;import android.app.Activity;import android.content.res.XmlResourceParser;import android.os.Bundle;import android.view.Menu;import android.view.View;import a原创 2013-12-03 16:10:51 · 1108 阅读 · 0 评论 -
android之通过URL来获取网络资源并下载资源简单实例
package com.android.xiong.urltest;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.MalformedURLException;import java.net.URL;import android.app原创 2013-11-28 17:14:14 · 18200 阅读 · 2 评论 -
android之socket编程实例
注意点:注册访问的网络权限;android中UI线程不能有访问网络的操作,否则会报android.os.NetworkOnMainThreadException的异常 <uses-permission android:name="android.permission.INTERNET"/>客户端package com.android.xiong.simp原创 2013-11-28 10:23:02 · 142457 阅读 · 34 评论 -
Android之ksoap2-android详解与调用天气预报Webservice完整实例
Google为Android平台开发Web Service客户端提供了ksoap2-android项目,在这个网址下载开发包http://code.google.com/p/ksoap2-android/source/browse/m2-repo/com/google/code/ksoap2-android/ksoap2-android-assembly/3.1.0/ksoap2-android-原创 2013-11-19 23:59:34 · 18253 阅读 · 10 评论 -
监听ContentProvider数据改变
当程序A在执行insert、update、delete时,通过getContext().getContentResolver().notifyChange(uri, null)方法来告诉所有注册在该Uri的监听者数据发生改变//删除数据 @Override public int delete(Uri uri, String selection, String[] selectionArgs原创 2013-11-18 15:15:54 · 7001 阅读 · 0 评论 -
Android之ContentProvider详解
ContentProvider为Android四大组件之一,主要用来应用程序之间的数据共享,也就是说一个应用程序用ContentProvider将自己的数据暴露出来,其他应用程序通过ContentResolver来对其暴露出来的数据进行增删改查。 ContenProvider与ContentResolver之间的对话同过Uri(通用资源标识符),一个不恰当的比喻就好像浏览器要显示一个原创 2013-11-14 20:18:46 · 14334 阅读 · 2 评论 -
Anroid之实现菜单几个基本步骤
Android系统对菜单的支持几个接口、Menu开发选项菜单的菜单的基本步骤 通过java实现 1、重写Activity的onCreateOptionsMenu(Menu menu)方法 @Override public boolean onCreateOptionsMenu(Menu menu) { //向Menu中添加字体大小的子菜单 SubMenu f原创 2013-11-12 22:19:59 · 1340 阅读 · 0 评论 -
android获取电话号码实例
在Androidmanifest注册获取权限源码如下:package com.example.intentphone;import android.app.Activity;import android.content.CursorLoader;import android.content.Intent;import android.database.Cursor;impo原创 2013-11-11 15:45:01 · 6774 阅读 · 1 评论 -
启动Activity的两种方法 startActivityForResult与 startActivity
第一种方法请看http://blog.csdn.net/x605940745/article/details/9902895 Intent intent=new Intent(); intent.setClass(MainActivity.this, SecondActivity.class); MainActi原创 2013-11-06 22:24:03 · 25824 阅读 · 0 评论 -
Android之Handler消息机制
android中Handle类的主要作用: 1.在新启动的线程中发送给消息 2.在主线程获取、处理消息为什么要用Handle这样的一个机制: 因为在Android系统中UI操作并不是线程安全的,如果多个线程并发的去操作同一个组件,可能导致线程安全问题。为了解决这一个问题,android制定了一条规则:只允许UI线程来修改UI组件的属性等。所以比如另一个线程要修改UI组原创 2013-10-28 17:23:27 · 16762 阅读 · 2 评论 -
Android数据存储(3)SQLite简介和简单的登录与注册源代码
操作SQLite数据的基本步骤: 1.获取SQLiteDatabase对象db创建数据库或连接数据库:SQLiteDatabasedb = SQLiteDatabase.openOrCreateDatabase(MainActivity.this.getFilesDir().toString()+ "/test.dbs", null);如果目录下有test.dbs数据库则是连接没有就是创建原创 2013-10-12 15:12:47 · 42713 阅读 · 17 评论 -
Android简单文件浏览器源代码
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_heig...原创 2013-10-10 17:08:58 · 12926 阅读 · 2 评论 -
Android数据存储(2)向机身内存(Internal Storage)和SDcard(External Storage)读写数据实例
总的来说向内存和SDcard中读写数据和java io操作基本差不多 而机身内存读取和SDcard读取数据有少许差别机身内存数据读写 1.机身内存读取主要用个两个类文件输入流(FileInputStream)和文件输出流(FileOutputStream): FileInputStream fileInput = this.openFileInput("test.txt") 第一个参原创 2013-10-09 21:32:21 · 21135 阅读 · 0 评论 -
Android数据存储(1)少量数据保存之SharedPreferences接口实例
SharedPreferences数据保存主要是通过键值的方式存储在xml文件中格式写入日期:2013年10月07日,时间:11:28:09SharedPreferences读写的基本步骤读 1.通过Context的getSharedPreferences获取SharedPreferences接口的对象share:SharedPreferences shar原创 2013-10-07 20:00:38 · 2739 阅读 · 0 评论 -
实现展开列ExpandableListView的三种方式之SimpleExpandableListAdapter实例
实现可扩展展开列ExpandableListView的三种方式 一是使用SimpleExpandableListAdpater将两个List集合包装成ExpandableListView 二是 扩展BaseExpandableListAdpter 三是使用simpleCursorTreeAdapter将Cursor中的数据包装成SimpleCuroTreeAdapterS原创 2013-09-29 08:46:25 · 15060 阅读 · 3 评论 -
Android之SimpleAdapter简单实例和SimpleAdapter参数说明
SimpleAdapter基本上认知了其参数含义 用起来就简单多了SimpleAdapter的参数说明 第一个参数 表示访问整个android应用程序接口,基本上所有的组件都需要 第二个参数表示生成一个Map(String ,Object)列表选项 第三个参数表示界面布局的id 表示该文件作为列表项的组件 第四个参数表示该Map对象的哪些key对应value来生成列表项原创 2013-09-24 16:34:37 · 77470 阅读 · 12 评论 -
Android之ListView与自定义adapter简单实例
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_par原创 2013-09-22 09:54:43 · 5691 阅读 · 1 评论