android开发
文章平均质量分 72
jyDave
这个作者很懒,什么都没留下…
展开
-
Android中的异步通信类AsyncTast
Android中提供了一种轻量级的异步通信的方法:AsyncTast类(接口)。可以使用AsyncTast完成一些简单的多线程的操作,而不需要使用Thread或者Handler。 使用的方法很简单,只需要继承AsyncTast类,指定类型参数,并重写其中的doInBackground()方法和其它几个回调方法。 下面是一个简单的例子:private class DownloadFilesTask原创 2016-02-01 20:29:49 · 848 阅读 · 0 评论 -
自定义Button
自定义Button,主要是对背景android:background 进行自定义。background 属性可以指定一个颜色的RGB值,也可以指定一个drawable 对象,一般为shape drawable 或者state-list drawable。先来研究一下系统主题下的Button 样式。打开styles.xml,找到系统下的Button 样式如下:原创 2015-12-12 22:34:44 · 589 阅读 · 0 评论 -
实现启动界面SplashActivity
public class SplashActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.splash_layout); new原创 2015-12-12 22:26:47 · 823 阅读 · 0 评论 -
Fragment间的信息传递
Fragment 有两种加载方式:静态加载和动态加载。这两种方式加载的Fragment 与Activity 之间传递信息的方法是不一样的。使用静态加载的Fragment 与Activity 之间的通信如果Fragment 是使用静态方法加载的,也就是直接在布局文件中载入的,那么就可以在Activity 中直接通过findViewById() 的方法获取到Fragment 的布局资源,例如,原创 2015-10-29 18:20:58 · 529 阅读 · 0 评论 -
显示和设置ProgressBar的进度
显示和设置进度条的进度主要用到了以下几个属性和方法:android:max设置进度条的最大值android:progress设置第一进度条的当前进度android:secondaryProgress设置第二进度条的当前进度void incrementProgressBy(int diff): 增加第原创 2015-10-15 23:57:32 · 3921 阅读 · 0 评论 -
Fragment的简单用法
创建碎片先新建一个碎片的布局example_fragment.xml,然后再创建自己的fragment 类ExampleFragment 继承自Fragment,并重写其中的onCreateView() 方法:public static class ExampleFragment extends Fragment { @Override public View onCr原创 2015-10-29 00:01:10 · 412 阅读 · 0 评论 -
在标题栏中显示ProgressBar
进度条分为带进度的和不带进度的,二者都可以在标题栏上显示出来。方法也很简单。首先在onCreate() 方法中启用两种进度条的窗口特性 requestWindowFeature(Window.FEATURE_PROGRESS); requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);然后再将进度条显示出来 s原创 2015-10-14 23:26:21 · 775 阅读 · 0 评论 -
使用WebView打开网页
首先创建WebView 控件并初始化<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:la原创 2015-10-27 12:53:18 · 1083 阅读 · 0 评论 -
使用线性布局LinearLayout
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center_horizontal" an原创 2015-09-22 22:54:33 · 456 阅读 · 0 评论 -
使ListView 显示头、脚视图
创建ListView 并初始化首先在xml文件里定义ListView: <ListView android:id="@+id/list_view" android:layout_width="match_parent" android:layout_height="match_parent" android:divide原创 2015-11-12 12:14:32 · 1417 阅读 · 0 评论 -
自定义水平进度条Horizontal ProgressBar
系统的ProgressBar 样式打开Styles.xml,可以看到系统的ProgressBar 样式定义如下: false @drawable/progress_horizontal @drawable/progress_indeterminate_horizontal 20dip 20dip原创 2015-12-13 10:31:46 · 3127 阅读 · 1 评论 -
使用SharedPreferences存储数据
SharedPreferences 可以替代读写文件的方法,保存一些外部数据。这些数据被保存为键值对的类型,所以对于像账号密码这种类型的数据,保存在SharedPreferences 中将会很方便。如果数据量再大的话,可以考虑使用android自带的数据库SQLite。使用SharedPreferences 的方法主要分为以下几步:1. 获取SharedPreferences在官方文档原创 2015-12-17 12:46:15 · 3110 阅读 · 0 评论 -
为ViewPager添加选项卡导航栏
如果你想使用选项卡导航栏但又不想使用ActoinBar的话,就可以选择给ViewPager添加PagerTabStrip或者PagerTitleStrip来实现。PagerTitleStrip是非交互式的,PagerTapStrip是交互式的,二者在其他方面完全相同。以PagerTapStrip为例来说明:1. 在ViewPager布局中添加PagerTapStripPagerTapS原创 2016-01-24 16:47:08 · 1244 阅读 · 0 评论 -
广播(Broadcast)的简单用法
发送一条广播发送广播的方法和启动Activity的方法是非常类似的。首先新建一个Intent对象,然后使用sendBroadcast()、sendOrderedBroadcast()或者sendStickyBroadcast()发送广播:sendBroadcast():发送一条普通广播。这种广播接收不分先后,而且不能截断,不能被修改。sendOrderedBroadcast():发送一条有序广播原创 2016-02-13 00:17:11 · 3230 阅读 · 0 评论 -
Android与PC间进行Socket通信
自己写了一个小程序,是android手机与PC端通过Socket进行通信:服务端服务端是一段java代码,跑在PC上public class SimpleServer { JTextArea textArea; Socket clientSocket; public static void main(String[] args) { new SimpleServer原创 2016-02-05 23:36:04 · 1200 阅读 · 0 评论 -
布局优化的几种方法
布局优化的三种方法原创 2016-01-27 11:34:15 · 2437 阅读 · 0 评论 -
SeekBar的使用和自定义
SeekBar继承于ProgressBar,实际上就是一个可以拖动的进度条。原创 2016-01-26 19:07:20 · 779 阅读 · 0 评论 -
Gallery和ImageSwitcher
Gallery可以用来进行横向的图片浏览。不过在API 16以后,谷歌已经废弃了这个控件,推荐使用HorizontalScrollView或者ViewPager替代。 而ImageSwitcher和Gallery很像,可以用来进行图片的切换显示,并且可以添加动画效果。在XML文件中创建Gallery <Gallery android:id="@+id/gallery"原创 2016-01-26 14:31:19 · 382 阅读 · 0 评论 -
使用ScrollView
ScrollView本质上是一个FrameLayout,所以它只能为单一的控件提供滚动条,最常用子控件的是LinearLayout。 TextView也可以使用ScrollView,但TextView也提供了自带的滚动条的方法。 注意,不能对ListView使用滚动条。原创 2016-01-25 23:10:41 · 417 阅读 · 0 评论 -
用ViewFlipper实现手势滑动
ViewFlipper也可以结合onTouchEvent实现手势滑动。在MainActivity中重写onTouchEvent方法,可以响应各种屏幕事件。通过一个变量startX保存手势起始坐标,并与当前坐标比较,可以判断向左滑动还是向右滑动。示例代码如下: @Override public boolean onTouchEvent(MotionEvent event) { sw原创 2016-01-25 14:24:31 · 789 阅读 · 0 评论 -
使用ViewFlipper实现页面自动切换
ViewFlipper继承于ViewAnimator,为两个或者多个页面间的切换提供了一种简单的方式。如果有需要,可以在多个页面中自动切换。在XML文件中定义ViewFlipper布局‘ <ViewFlipper android:id="@+id/view_flipper" android:layout_width="match_parent"原创 2016-01-25 12:06:59 · 676 阅读 · 0 评论 -
为ViewPager添加适配器
ViewPager有两个常用的适配器,这两个适配器都继承于PagerAdapter,并将Fragment作为数据源:FragmentPagerAdapter: 这种适配器从始至终保存所有页面的Fragment的实例。当页面形式固定且数量较小的时候,可以选择这种适配器。FragmentStatePagerAdater: 这种适配器只会保存当前、前一个和后一个页面的Fragment。当页面数原创 2016-01-24 23:19:26 · 2176 阅读 · 0 评论 -
通过继承ListActivity实现列表
如果你的Activity 中只需要显示一个列表,那么就可以通过继承ListActivity 的方式来实现:arrays.xml 情景模式 主题模式 手机 程序管理 通话设置 连接功能 MainActivity.javapublic class MainA原创 2015-11-12 13:04:30 · 1614 阅读 · 0 评论 -
使用RadioButton 和RadioGroup
RadioButton 一般不单独使用,而是放到RadioGroup 中。和CheckBox 不同,RadioGroup能且只能选择一项。布局属性如下<RadioGroup android:id="@+id/radioGroup1" android:layout_width="wrap_content" android:layout_heig原创 2015-09-22 13:01:34 · 624 阅读 · 0 评论 -
为文本框添加滚动条
可以在xml文件中定义布局,也可以使用代码的方式动态添加布局。下面的例子采用后者的方式:为文本框添加滚动条,就是在ScrollView 中添加TextView。ScrollView 是一个滚动视图,它只能包含一个子视图,如果需要滚动多个视图,可以让ScrollView 包含一个Layout。在java 代码中,在onCreate() 方法中新建视图并向其传递上下文参数this,调用addV原创 2015-11-11 13:08:48 · 3845 阅读 · 0 评论 -
使用GridView实现仿桌面图标的设计
GridView 是网格视图,我们可以用它来实现一个类似于桌面图标的布局。和ListView 的使用方法非常相似,GridView 的使用方法包括:新建布局,为布局新建适配器,设置监听事件。1. 首先,新建GridView :activity_main.xml<RelativeLayout xmlns:android="http://schemas.android.com/apk/原创 2015-10-20 16:54:07 · 1145 阅读 · 0 评论 -
获取全局Context
Android 提供了一个Application 类,在应用程序启动的时候进行初始化,用于提供一些全局的状态信息。我们可以自己定制一个Application 类,在其中提供获取全局Context 对象的方法。public class MyApplication extends Application { private static Context context; @Overrid原创 2015-09-30 22:12:53 · 370 阅读 · 0 评论 -
传感器的使用:方向传感器
很多手机应用中都有指南针的功能, 还有很多游戏可以通过旋转屏幕来进行操控,这都需要方向传感器。而事实上,安卓设备是没有真正的方向传感器的,它只是通过加速度传感器和地磁传感器来计算方向。也正是因为这个原因,安卓SDK早就废弃了Sensor.TYPE_ORIENTATION 这种传感器类型,而改用Sensor.TYPE_ACCELEROMETER 和Sensor.TYPE_MAGNETIC_FIELD原创 2015-09-30 19:43:50 · 633 阅读 · 0 评论 -
使用DatePickerDialog和TimePickerDialog实现日期和时间选择对话框
从名子就可以看出DatePickerDialog 和TimePickerDialog 与DatePicker 和TimePicker 的区别,它们可以在对话框中实现日期和时间的选择。使用方法很简单。构造出它们的对象,并调用show() 方法将它们显示出来。 new DatePickerDialog(MainActivity.this, new OnDateSetListener(){原创 2015-10-17 20:28:59 · 836 阅读 · 0 评论 -
使用DatePicker和TimePicker实现日历功能
DatePicker 和TimePicker 可以在当前的界面中实现日期和时间的选择。使用方法如下:1. 在布局添加DatePicker 和TimePicker这个没什么好说的 <DatePicker android:id="@+id/datePicker1" android:layout_width="match_parent"原创 2015-10-17 19:14:33 · 563 阅读 · 0 评论 -
使用ToggleButton
ToggleButton 可是实现按钮的开关效果。它的使用方法和一般的Button 并没有什么太大的区别,在不居中多了三条常用属性<ToggleButton android:id="@+id/toggleButton1" android:layout_width="match_parent" android:layout_height="wrap原创 2015-09-20 17:06:14 · 472 阅读 · 0 评论 -
传感器的使用:加速度传感器
1. 通过SensorManager 创建Sensor 对象 sensorManager = (SensorManager)getSystemService(Context.SENSOR_SERVICE); Sensor sensor = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);2. 创建SensorEven原创 2015-09-29 23:16:39 · 589 阅读 · 0 评论 -
在ListView中使用SimpleAdapter
在ListView中使用SimpleAdapter分为三步:创建SimpleAdapter实例,设置布局并初始化数据源, 绑定适配器。创建SimpleAdapter首先在MainActivity中申明SimpleAdater,然后再onCreate()方法中创建它的实例。构造函数如下:SimpleAdapter(Context context, List> data, int原创 2015-10-16 19:14:41 · 768 阅读 · 0 评论 -
使用百度地图API
百度地图提供了丰富的API, 可以使我们很方便的调用百度地图实现定位和导航功能。1. 申请百度开发者账号要使用百度地图的API,首先可以登录百度开发者的首页(http://developer.baidu.com/),注册一个百度的开发者账号。在开发者首页我们可以看到众多的百度提供的开发工具。选择百度地图,进入百度地图开放平台首页(http://developer.baidu.com/m原创 2015-09-29 11:52:02 · 731 阅读 · 0 评论 -
使用上下文菜单(Context Menu)
创建Menu 资源文件菜单资源文件通常应该定义在res/menu 目录下,包含的元素有:通常作为菜单资源的根元素,可以包含多个 和用于定义菜单项。可选的属性有id, title, icon 等,具体课参考文档的说明可选标记,将多个菜单项 包装成一个菜单组。可选的属性也有id, enabled, visible 等,具体也可参考官方文档原创 2015-11-04 23:51:50 · 1294 阅读 · 0 评论 -
使用ViewPager实现导航页
创建并初始化ViewPager首先在xml文件中加入ViewPager 的声明: <android.support.v4.view.ViewPager android:id="@+id/view_pager" android:layout_width="match_parent" android:layout_height="mat原创 2015-11-06 18:48:49 · 727 阅读 · 2 评论 -
显示和隐藏动作栏(Action Bar)
创建菜单资源的时候,通过指定android:showAsAction 属性,可以将菜单项在动作栏中显示: <item android:id="@+id/change_bg" android:icon="@drawable/ic_launcher" android:alphabeticShortcut="g" android:原创 2015-11-07 15:35:33 · 1119 阅读 · 0 评论 -
调用系统自带浏览器的方法
调用系统自带的浏览器打开网页有两种方法。第一种方法: Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse("http://www.baidu.com")); startActivity(intent);第二种方法: Intent intent = new Int原创 2015-10-26 13:15:03 · 1122 阅读 · 0 评论 -
向动作栏(Action Bar)中添加动作视图(Action View)
Action View 是可以用来显示在动作栏上取代动作按钮的控件。添加Action View,需要在Menu 资源文件中为item 元素声明actionViewClass 或者actionLayout 属性。下面以添加系统提供的搜索控件为例:<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:t原创 2015-11-09 22:04:18 · 1556 阅读 · 1 评论 -
使用Spinner实现下拉列表
首先在布局文件中创建Spinner 控件,一个最简单的Spinner 控件如下:<Spinner android:id="@+id/spinner" android:layout_width="match_parent" android:layout_height="wrap_content" />然后再在JAVA代码中初始化Spinner,原创 2015-10-24 23:26:22 · 646 阅读 · 0 评论