摘要:大家好,我们上一节讲的是LayoutInflater 的 使用,而这一节我将讲一下MenuInflater ,顾名思义,LayoutInflater 是用来解析定义在layout 下的布局文件,那么MenuInflater 是不是用来解析定义在menu 目录下的菜单布局文件呢? 恭喜你答对了!(*^__^*) 嘻嘻……我们传统意义上 的定义菜单感觉比较繁琐,当我们使用MenuInflater 来生成菜单,你会发现是多么的爽朗,呵呵,我今天的小Demo,是定义四个菜单,并且实现了一个菜单事件。就是我们点击设置 (Setting )菜单,进入手机设置状态!下面看一下效果图:下面是实现Demo 的详
阅读全文
随笔分类 - Android手机编程
摘要:optionsMenu就是用户在按下手机键盘上的Menu键时,Activity下方弹出的菜单。借个图展示一下:接下来,本文的主要内容有:1、 如何建立菜单2、 如何响应菜单上的点击动作3、 讲解Menu的各种属性及Group分组首先,如何建立菜单。其实每个Activity都有处理菜单的能力,我们只需要重写onCreateOptionsMenu(Menu menu)这个方法就可以建立菜单了。具体操作起来有两种方法。方法一,直接用代码构建Menu。[java] view plaincopyprint?@Overridepublic boolean onCreateOptionsMenu(Menu
阅读全文
摘要:菜单是用户界面中最常见的元素之一,使用非常频繁,在Android中,菜单被分为如下三种,选项菜单(OptionsMenu)、上下文菜单(ContextMenu)和子菜单(SubMenu),今天这讲是OptionsMenu 一、概述 public boolean onCreateOptionsMenu(Menu menu):使用此方法调用OptionsMenu 。 public boolean onOptionsItemSelected(MenuItem item):选中菜单项后发生的动作。 public void onOptionsMenuClosed(Menu menu):菜单关闭...
阅读全文
摘要:最近公司的Android项目需要用到摄像头做条码或二维码的扫描,Google一下,发现一个开源的 ZXing项目。它提供二维码和条形码的扫描。扫描条形码就是直接读取条形码的内容,扫描二维码是按照自己指定的二维码格式进行编码和解码。1.什么是二维码和条形码? 二维条形码最早发明于日本,它是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的,在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理。它具有条码技术的一些共性:每种码制有
阅读全文
摘要:原文出处:http://blog.csdn.net/guolin_blog/article/details/9526247转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/9526247最近二维码真是越来越火了,随便电视上、网络上、商场里,到处都是二维码。而内嵌二维码扫描功能的软件也越来越多,QQ、微信、UC浏览器等等应用都可以对着二维码扫一扫,感觉我们自己的应用里不加上二维码扫描功能,都跟不上时代潮流了。所以今天我就将带着大家一起,在我们自己的程序里加入二维码扫描的功能。不过,二维码功能如果真要做起来还是非常复杂的,从零开始实现
阅读全文
摘要:废话不多说,直接开始说说与实现Android定位有关的API吧。 这些API都在android.location包下,一共有三个接口和八个类。它们配合使用即可实现定位功能。 三个接口: GpsStatus.Listener: 这是一个当GPS状态发生改变时,用来接收通知的接口。 GpsStatus.NmeaListener: 这是一个用来从GPS里接收Nmea-0183(为海用电子设备制定的标准格式)信息的接口。 LocationListener: 位置监听器,用于接收当位置信息发生改变时从LocationManager接收通知的接口。 八个类: Address: 描述地址的...
阅读全文
摘要:Android定位功能(二) 在前文Android定位功能(一)中,已经大致介绍了一下在Android平台中,和定位功能相关的类,并举例获取了位置信息。但是前文是基于Criteria定制了一个标准,通过getBestProvider()方法由Android系统自动获取最符合Criteria的LocationProvider,从而实现了定位功能。这样的做法能最大限度的保证定位功能的可实现性,但是却无法保证获取到的位置信息有最大的准确度。因为除了GPS外,其他定位方式都或多或少存在着位置偏移。 在实现GPS定位前,先了解一下GPS的部分特性: 1. GPS定位需要依靠3颗或3颗以上的卫星。 ...
阅读全文
摘要:需求详情: 1)、Service中每隔1秒执行一次定位操作(GPS+基站) 2)、定位的结果实时显示在界面上(要求得到经度、纬度) 技术支持: 1)、获取经纬度 通过GPS+基站获取经纬度,先通过GPS来获取,如果为空改用基站进行获取–>GPS+基站(基站获取支持联通、电信、移动)。 2)、实时获取经纬度 为了达到实时获取经纬度,需在后台启动获取经纬度的Service,然后把经纬度数据通过广播发送出去,在需要的地方进行广播注册(比如在Activity中注册广播,显示在界面中)–>涉及到Service+BroadcastReceiver+Activity+Thread等知识点。备注:
阅读全文
摘要:关于android定位方式android 定位一般有四种方法,这四种方式分别是GPS定位、WIFI定位、基站定位、AGPS定位。1、 Android GPS需要GPS硬件支持直接和卫星交互来获取当前经纬度,这种方式需要手机支持GPS模块现在大部分的智能机应该都有了。通过GPS方式准确度是最高的但是它的缺点也非常明显。1、 比较耗电2、 绝大部分用户默认不开启GPS模块3、 从GPS模块启动到获取第一次定位数据可能需要比较长的时间4、 室内几乎无法使用。这其中缺点2、3都是比较致命的。需要指出的是GPS走的是卫星通信的通道在没有网络连接的情况下也能用。2、 Android基站定位Android基
阅读全文
摘要:程序需要相应用户的操作,最要能在200ms(0.2s)之内,如果超过5秒没有反应,ActivityManager会没有提示就kill了activity。然而,activity可能真的需要时间来进行处理,这往往会用到后台线程-background thread。后台线程可以安全地和UI线程进行交互,其中后台线程是不能修改UI的。我不太确切知晓“不能修改UI”到何种程度,例如在下面的例子进度条状态的修改是允许的,在复杂的例子中可能会出现问题,例如两个后台线程都要处理同一个widget,可能会有不可预知的情况出现,然而就编程而言,确实不应当如此处理,后台进程应避免涉及UI的处理,UI的归UI,处理的
阅读全文
摘要:Runnable 并不一定是新开一个线程,比如下面的调用方法就是运行在UI主线程中的:Handler mHandler=new Handler();mHandler.post(new Runnable(){ @Override public void run() { // TODO Auto-generated method stub }});官方对这个方法的解释如下,注意其中的:“The runnable will be run on the user interface thread. ”boolean android.view.View .post(Runnable action)Ca.
阅读全文
摘要:Android 的消息队列模型Android是参考Windows的消息循环机制来实现Android自身的消息循环的。 Android通过Looper、Handler来实现消息循环机制,Android消息循环是针对线程的(每个线程都可以有自己的消息队列和消息循环)。 Android系统中,Looper负责管理线程的消息队列和消息循环。我们可以通过Loop.myLooper()得到当前线程的Looper对象,通过Loop.getMainLooper()可以获得当前进程的主线程的Looper对象。 一个线程可以存在(当然也可以不存在)一个消息队列和一个消息循环(Looper)。 Activity是一
阅读全文
摘要:SQLite DBHelper 单例模式实现[mw_shl_code=java,true]package com.tre.android.app.ui.trial.database;import java.util.ArrayList;import java.util.List;import com.tre.android.framework.Configuration;import android.content.ContentValues;import android.content.Context;import android.database.Cursor;import android
阅读全文
摘要:http://database.51cto.com/art/200903/113334.htm
阅读全文
摘要:列表(ListView)、表格(GridView),这在手机应用上面肯定是少不了的,怎样实现比较复杂一点的界面呢,先看一下我的效果图。 这样布局的情况是最基本的,也是最常用的,网上关于这样的布局有多种版本的实现方法,但是有很多需要自己实现Adapter,那样子是比较复杂而且没有必要的,因为我们有简约而不简单的SimpleAdapter。1. ListViewSimpleAdapter的核心代码: for (int i = 0; i map = new HashMap(); map.put("PIC", R.drawable.pic); map.put("TITLE
阅读全文
摘要:我们在平时做开发的时候,免不了会用到各种各样的对话框,相信有过其他平台开发经验的朋友都会知道,大部分的平台都只提供了几个最简单的实现,如果我们想实现自己特定需求的对话框,大家可能首先会想到,通过继承等方式,重写我们自己的对话框。当然,这也是不失为一个不错的解决方式,但是一般的情况却是这样,我们重写的对话框,也许只在一个特定的地方会用到,为了这一次的使用,而去创建一个新类,往往有点杀鸡用牛刀的感觉,甚至会对我们的程序增加不必要的复杂性,对于这种情形的对话框有没有更优雅的解决方案呢? 幸运的是,android提供了这种问题的解决方案,刚开始接触android的时候,我在做一个自定义对话框的时候..
阅读全文
摘要:在应用中经常会用到一些费时的操作,需要用户进行等待,比如加载网页内容……这时候就需要一个提示来告诉用户程序正在执行,并没有假死或者真死……囧……而ProgressBar、ProgressDialog等就是专门干这个的。以ProgressDialog为例,一般的使用它步骤为:在执行耗时间的操作之前弹出ProgressDialog提示用户,然后开一个新线程,在新线程里执行耗时的操作,执行完毕之后通知主程序将ProgressDialog结束。以下是一个demo,很简单的用法:[java] view plaincopyprint?package com.android.ui; import andr.
阅读全文
摘要:Android中常用的5大布局方式有以下几种:线性布局(LinearLayout):按照垂直或者水平方向布局的组件。帧布局(FrameLayout):组件从屏幕左上方布局组件。表格布局(TableLayout):按照行列方式布局组件。相对布局(RelativeLayout):相对其它组件的布局方式。绝对布局(AbsoluteLayout):按照绝对坐标来布局组件。1. 线性布局线性布局是Android开发中最常见的一种布局方式,它是按照垂直或者水平方向来布局,通过“android:orientation”属性可以设置线性布局的方向。属性值有垂直(vertical)和水平(horizontal)
阅读全文
摘要:Activity布局初步 - 相对布局 1、 相对布局的基本概念 一个控件的位置它决定于它和其他控件的关系,好处:比较灵活;缺点:掌握比较复杂。 2、 相对布局常用属性介绍 这里将这些属性分成4个组,便于理解和记忆。 a)、以下4个属性设置控件与之间的关系和位置但是上面4个属性并没有设置各个控件之间是否对齐。 示例1:将控件A放置在控件B的上面,则使用android:layout_above属性,控件布局的效果可以有以下这么两种情况。 1、 控件A与控件B对齐,并且控件A是在控件B的上面。 2、 控件A没有与控件B对齐,但是控件A又确实是在控件B的上面。b)、以下5个属性,设置的是控件与控件之
阅读全文
摘要:在进行UI布局的时候,可能经常会用到 android:gravity 和 android:layout_Gravity 这两个属性。关于这两个属性的区别,网上已经有很多人进行了说明,这边再简单说一下。 (资料来自网络)LinearLayout有两个非常相似的属性:android:gravity与android:layout_gravity。他们的区别在于:android:gravity 属性是对该view中内容的限定.比如一个button 上面的text. 你可以设置该text 相对于view的靠左,靠右等位置.android:layout_gravity是用来设置该view相对与父view
阅读全文

浙公网安备 33010602011771号