android之开发技术详解
将android项目开发过程中,用到的知识点进行单独详解.
炸斯特
2015年毕业于东大,目前在阿里。全栈工程师。如果文章对你有所帮助,请关注支持下我的公众号“贞会说”(ZhenHuiShuo)。我一直在记录自己的职场经验和总结,来看看,对你有用,人生就怕走了弯路,有困惑来交流一下,少走弯路,很重要。
展开
-
android之如何在两个activity之间传递handler_利用broadcast广播机制
这算是如何在两个activity之间传递handler的解决方案二了,解决方案一见http://blog.csdn.net/jason0539/article/details/18055259再重复一遍我遇到的问题,就是在MainActivity里面打开AnotherActivity去执行一些操作,相应的改变MainActivity里的一些布局或者执行一些动作,最开始想到的就是把MainAct原创 2014-01-10 11:43:52 · 31932 阅读 · 16 评论 -
android之在activity中控制另一个activity的UI更新_如何在activity之间传递handler
遇到一个问题,需要在一个activity中控制另一个acitivity做一些更新,没想到传递handler的方法,通过以下方式解决。1.在MyAPP中定义属性handlerpackage jason.com;import jason.com.MasterActivity.MyHandler;import android.app.Application;/*** 自己原创 2014-01-09 22:57:06 · 31015 阅读 · 8 评论 -
android开发之手机与单片机蓝牙模块通信
之前两篇都是在说与手机的连接,连接方法,和主动配对连接,都是手机与手机的操作,做起来还是没问题的,但是最终的目的是与单片机的蓝牙模块的通信。 下面是到目前为止尝试的与单片机的通信方法,没有成功,但是从思路上来说没有问题,最大的问题是与单片机配对的时候,单片机的蓝牙模块的PIN配对码是写死的,固定为1234,而手机这边连接配对都是自动生成的PIN配对码,这种方式在手机与手机配对的时候是极原创 2014-01-05 12:04:42 · 42911 阅读 · 20 评论 -
android开发之蓝牙主动配对连接手机
上一篇介绍了手机配对连接的三种方式,这篇以完整的一个代码实例介绍如何搜索周围的蓝牙设备,以及主动配对,连接。package jason.com;import java.io.IOException;import java.lang.reflect.Method;import java.util.ArrayList;import java.util.List;import原创 2014-01-03 11:20:00 · 16811 阅读 · 5 评论 -
android开发之蓝牙配对连接的方法
新年第一篇。最近在做蓝牙开锁的小项目,手机去连接单片机总是出现问题,和手机的连接也不稳定,看了不少蓝牙方面的文档,做了个关于蓝牙连接的小结。在做android蓝牙串口连接的时候一般会使用BluetoothSocket tmp = null;// Get a BluetoothSocket for a connection with the// given BluetoothDevi原创 2014-01-03 09:18:38 · 73770 阅读 · 24 评论 -
android之interpolator的用法详解
android:interpolator Interpolator 被用来修饰动画效果,定义动画的变化率,可以使存在的动画效果accelerated(加速),decelerated(减速),repeated(重复),bounced(弹跳)等。 android中的文档内容如下: AccelerateDecelerateInterpolator 在动画开始与介绍的地原创 2013-11-17 16:17:27 · 102902 阅读 · 14 评论 -
android开发之使用SQLite数据库存储
SQLite 介绍SQLite 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且只利用很少的内存就有很好的性能。此外它还是开源的,任何人都可以使用它。许多开源项目((Mozilla, PHP, Python)都使用了 SQLite.SQLite 由以下几个组件组成:SQL 编译器、内核、后端以及附件。SQLite 通过利用虚拟机和虚拟数据库引擎(VDBE),使调试、修改和扩展 SQL原创 2013-11-16 20:56:56 · 10139 阅读 · 0 评论 -
android开发之滑动效果实现图片浏览_ViewFilpper的使用
ViewFilpper 是Android官方提供的一个View容器类,继承于ViewAnimator类,用于实现页面切换,也可以设定时间间隔,让它自动播放。又ViewAnimator继承至于FrameLayout的,所以ViewFilpper的Layout里面可以放置多个View 本示例通过ViewFlipper和GestureDetector.OnGestureListener实现自原创 2013-09-29 16:42:39 · 9157 阅读 · 2 评论 -
android错误之android.os.NetworkOnMainThreadException
在做一个天气预报的widget的时候,参考了一个源代码,但是一直报错,就从里面抠出来获取天气的代码试试看,结果总是报错 就是这个异常,android.os.NetworkOnMainThreadException代码是这样的:MainActivity:public class MainActivity extends Activity { MyWeather myWe原创 2013-09-27 08:35:43 · 7362 阅读 · 0 评论 -
android开发之GPS定位详解
一、LocationManagerLocationMangager,位置管理器。要想操作定位相关设备,必须先定义个LocationManager。我们可以通过如下代码创建LocationManger对象。LocationManger locationManager=(LocationManager)this.getSystemService(Context.LOCATION_SERVICE原创 2013-09-26 14:04:26 · 61919 阅读 · 23 评论 -
android开发之Intent.setFlags()_让Android点击通知栏信息后返回正在运行的程序
在应用里使用了后台服务,并且在通知栏推送了消息,希望点击这个消息回到activity,结果总是存在好几个同样的activity,就算要返回的activity正在前台,点击消息后也会重新打开一个一样的activity,返回好几次才能退出,而不能像qq之类的点击通知栏消息回到之前存在的activity,如果存在就不再新建一个activity说的有点绕,如果是遇到此类问题的肯定能懂,没遇到过原创 2013-09-23 18:07:59 · 10946 阅读 · 1 评论 -
android开发之Notification_通知栏消息
Notification简介 Notification看名字就知道,是一个和提醒有关的东西,它通常和NotificationManager一块使用。具体来说,其主要功能如下。 1.NotificationManager和Notification用来设置通知 通知的设置等操作相对比较简单,基本的使用方式就是新建一个Notification对象,设置好通知的各项参数,然后使用系统后台原创 2013-09-23 12:03:00 · 18944 阅读 · 4 评论 -
android开发之短信监听拦截_BroadcastReceiver的使用
1.广播被分为两种不同的类型:“普通广播(Normal broadcasts)”和“有序广播(Ordered broadcasts)”。 普通广播是完全异步的,可以在同一时刻(逻辑上)被所有接收者接收到,消息传递的效率比较高, 但缺点是:接收者不能将处理结果传递给下一个接收者,并且无法终止广播Intent的传播。 有序广播是按照接收者声明的优先级别,被原创 2013-09-16 09:37:48 · 8455 阅读 · 0 评论 -
android错误之android.content.res.Resources$NotFoundException:
错误:android.content.res.Resources$NotFoundException: String resource ID #0x1原因:一般发生在参数 int resId 错误,你把String赋值给int的resId,所以编译器找不到正确的resource于是报错。最简单的例子,检查一下你的Toast.makeText()啊textView.setText啊之类的函数原创 2013-09-15 08:17:52 · 44894 阅读 · 12 评论 -
android之switch控件的用法
在做一个蓝牙开关时候,用到了switch,记一下用法,其实跟Button是几乎一样的.布局中:<Switch android:id="@+id/open" android:layout_width="wrap_content" android:layout_height="wrap_content" android...原创 2013-09-06 22:31:46 · 136186 阅读 · 21 评论 -
android之IntentFilter的用法_Intent.ACTION_TIME_TICK在manifest.xml不起作用
在模仿一个天气预报的widget时候,用到了IntentFilter,感觉在manifest.xml注册的receiver跟用代码写registerReceiver()的效果应该是相同的,于是想证明一下,就写了如下一段程序:MainActivity:public class MainActivity extends Activity { public static final i原创 2013-09-01 08:07:33 · 22290 阅读 · 5 评论 -
android UI之Shape详解_GradientDrawable
在Android开发过程中,经常需要改变控件的默认样式, 那么通常会使用多个图片来解决。不过这种方式可能需要多个图片,比如一个按钮,需要点击时的式样图片,默认的式样图片。 这样就容易使apk变大。 那么除了使用drawable这样的图片外,还有其他方法吗? 本次就谈一下自定义图形shape,Android上支持以下几种属性gradient、stroke、原创 2013-08-25 16:01:33 · 4591 阅读 · 1 评论 -
Eclipse快捷键_10个最高效的快捷键
1. ctrl+shift+r:打开资源 这可能是所有快捷键组合中最省时间的了。这组快捷键可以让你打开你的工作区中任何一个文件,而你只需要按下文件名或mask名中的前几个字母,比如applic*.xml。美中不足的是这组快捷键并非在所有视图下都能用。2. ctrl+o:快速outline 如果想要查看当前类的方法或某个特定方法,但又不想把代码拉上拉下,也不想使用查找功能的话原创 2013-08-23 10:24:11 · 3622 阅读 · 2 评论 -
android之发送短信的方法研究
android中可以通过两种方式发送短信 第一:调起系统发短信功能;主要代码如下:Uri uri = Uri.parse("smsto:10010"); Intent it = new Intent(Intent.ACTION_SENDTO, uri); it.putExtra("sms_body", "102");原创 2013-08-22 17:53:24 · 7620 阅读 · 2 评论 -
android之摇一摇功能_SensorManager的使用
实现“摇一摇”功能,其实很简单,就是检测手机的重力感应,具体实现代码如下:一、在 AndroidManifest.xml 中添加操作权限二、实现代码import android.app.Activity; import android.hardware.Sensor; import android.hardware.SensorEvent; import android.h原创 2013-08-21 17:12:36 · 19381 阅读 · 3 评论 -
android之相机开发
在android中应用相机功能,一般有两种:一种是直接调用系统相机,一种自己写的相机。我将分别演示两种方式的使用:第一种:是使用Intent跳转到系统相机,action为:android.media.action.STILL_IMAGE_CAMERA关键代码:Intent intent = new Intent(); //调用照相机 intent.setAction(原创 2013-08-20 22:32:06 · 30226 阅读 · 4 评论 -
android之Widget开发详解实例三
之前已经有过两篇写Widget的了,实例一和实例二,如果乍看这篇有难度,可以先看看前两个比较简单的.本篇完成项目是一个小的心情记录器整体效果图如下:这里我们是通过点击桌面的widget弹出记录心情的activity的,实现方法如下:Intent intentClick = new Intent(context, update.class); Pending原创 2013-08-20 08:33:33 · 3167 阅读 · 0 评论 -
android之ListPreference的用法_PreferenceActivity用法
首先,我们明确,preference是和数据存储相关的。 其次,它能帮助我们方便的进行数据存储!为什么这个地方一定要强调下方便的这个词呢?原因是,我们可以根本就不使用,我们有另外的N种办法可以实现同样的功能!它的出现,相当于为我们提供了一个方便的工具,当然了,这个工具并不是必须的。 preference都应用在什么场景呢? 这得从andr原创 2013-08-18 23:28:23 · 11840 阅读 · 1 评论 -
android之android.intent.category.DEFAULT的用途和使用
1、要弄清楚这个问题,首先需要弄明白什么是implicit(隐藏) intent什么是explicit(明确) intent。 Explicit Intent明确的指定了要启动的Acitivity ,比如以下Java代码:Intent intent= new Intent(this, B.class);Implicit Intent没有明确的指定要启动哪个Activity ...原创 2013-08-18 18:18:50 · 109961 阅读 · 5 评论 -
android之Widget开发详解实例二
下面是本篇的大纲:1、AppWidget 框架类2、AppWidget 框架的主要类介绍3、DEMO 讲解1、AppWidget 框架类1、AppWidgetProvider :继承自 BroadcastRecevier , 在AppWidget 应用 update、enable、disable 和 delete 时接收通知。其中,onUpdate、onRece原创 2013-08-18 11:20:33 · 17009 阅读 · 3 评论 -
android之Widget开发详解实例一
Android Widget开发案例实现是本文要介绍的内容,主要是来了解并学习Android Widget开发应用,今天我们要写一下Android Widget的开发,由于快点凌晨,我就不说的太具体了,同志们就模仿吧!首先看一下效果图: 下面是Demo的详细步骤:一、新建一个Android工程命名为:WidgetDemo.二、准备素材,一个是Widget的图标,一个是W转载 2013-08-17 21:50:07 · 19029 阅读 · 4 评论 -
android之如何使用Android的搜索框架
当你需要在你的应用程序中提供搜索服务时,通过使用Android的搜索框架,应用程序将显示一个自定义搜索对话框来处理用户的搜索请求。通过一个简单的搜索按钮或从您的应用程序中调用API,搜索对话框就会显示在屏幕的顶部,并会自动显示应用程序图标。本文将教你如何为你的应用程序提供一个自定义搜索对话框。这样做,给您的用户提供一个标准化的搜索体验,并能增加如语音搜索和搜索建议等功能。基础知识A原创 2013-08-17 18:07:48 · 6856 阅读 · 1 评论 -
android错误之Unable to resolve target 'Google Inc.:Google APIs:6'
在导入一个项目是,出现Unable to resolve target 'Google Inc.:Google APIs:6' 按下面方式解决: 修改目录下的project.property文件内容为target=Google Inc.:Google APIs:16(在这里他本来可能是其他版本号,不用管它,只需要改成你所导入的包的版本就行,比如我这里已经导入就是api1原创 2013-08-17 10:24:50 · 24283 阅读 · 1 评论 -
android之activity中onSaveInstanceState和onRestoreInstanceState触发时机
先看Application Fundamentals上的一段话: Android calls onSaveInstanceState() before the activity becomes vulnerable to being destroyed by the system, but does not bother calling it when the instance is a原创 2013-08-16 23:01:53 · 2525 阅读 · 1 评论 -
android之Activity.startManagingCursor方法详解
在使用数据库操作查询数据后,如果是在Activity里面处理,那么很可能就会用到startManagingCursor()方法,在这里讲一下它的作用和使用注意事项.调用这个方法,就是将获得的Cursor对象交与Activity 来管理,这样Cursor对象的生命周期便能与当前的Activity自动同步,省去了自己管理Cursor。看下文档里的注释This method allows原创 2013-08-15 15:55:53 · 10807 阅读 · 0 评论 -
android之SQLite数据库insert操作
原型:long android.database.sqlite.SQLiteDatabase.insert(String table, String nullColumnHack, ContentValues values) 参数介绍:table: 要插入数据的表的名称nullColumnHack:当values参数为空或者里面没有内容的时候,我们insert是会失败的(底原创 2013-08-15 08:06:35 · 48032 阅读 · 0 评论 -
android之requestWindowFeature详解
requestWindowFeature可以设置的值有: 1.DEFAULT_FEATURES:系统默认状态,一般不需要指定 2.FEATURE_CONTEXT_MENU:启用ContextMenu,默认该项已启用,一般无需指定 3.FEATURE_CUSTOM_TITLE:自定义标题。当需要自定义标题时必须指定。如:标题是一个按钮时原创 2013-08-14 09:24:11 · 12727 阅读 · 0 评论 -
android之List<T>的空指针问题_List的初始化
在使用list做东西的时候出现空指针,查了半天资料本来是这样的 List model; LunchListAdapter adapter;//这是我重写的适配器 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setC原创 2013-08-12 22:31:30 · 12320 阅读 · 1 评论 -
android之ArrayAdapter的重写
昨天介绍了ArrayAdapter的使用,今天介绍一下更加实用的一点,对它进行重写,满足自己的个性化设计需要.ArrayAdapter(数组适配器)一般用于显示一行文本信息,所以比较容易。public ArrayAdapter(Context context,int textViewResourceId, List objects)上面的这行代码来装配数据,要装配这些数据就需要一个连接原创 2013-08-12 16:46:26 · 22839 阅读 · 3 评论 -
android之ListView的Adapter使用
在做一个小练习的时候,又遇到了Adapter,才发现以前没有对它进行过记录现在介绍一下:其实Adapter就是数据和视图之间的桥梁,数据在adapter中做处理,然后显示到ListView上面Adapter有很多种,有ArrayAdapter, BaseAdapter, CursorAdapter, HeaderViewListAdapter, ListAdapter,Resource原创 2013-08-12 10:40:28 · 12584 阅读 · 0 评论 -
android之View的启动过程
程序里调用了onSizeChanged方法进行了一些设置,不知道onSizeChanged是在什么时候启动的,所以研究了一下View的启动流程代码如下:public class TestView extends View { public TestView(Context context) { super(context); Log.d("mDebug", "TestV原创 2013-08-11 09:44:30 · 11394 阅读 · 2 评论 -
android之Display.getRotation()_传感器控制屏幕旋转
在看android自带的samples源码里面的AccelerometerPlayActivity时,看到下面这段代码,很不理解public void onSensorChanged(SensorEvent event) { if(event.sensor.getType() != Sensor.TYPE_ACCELEROMETER){ return; } switch (m原创 2013-08-11 09:08:35 · 16615 阅读 · 0 评论 -
android之BitmapFactory.Options的使用
,BitmapFactory.Options的使用是在加载图片时,就从图片的加载和使用说起 怎样获取图片的大小?首先我们把这个图片转成Bitmap,然后再利用Bitmap的getWidth()和getHeight()方法就可以取到图片的宽高了。新问题又来了,在通过BitmapFactory.decodeFile(String path)方法将突破转成Bitmap时,遇到大一些的图片原创 2013-08-10 21:49:28 · 21436 阅读 · 6 评论 -
android之startActivityForResult的使用
在Android中startActivityForResult主要作用就是:A-Activity需要在B-Activtiy中执行一些数据操作,而B-Activity又要将,执行操作数据的结果返回给A-Activtiy//看效果//看代码[java] view plaincopypackage jason.actres;原创 2013-08-09 16:55:49 · 1975 阅读 · 1 评论 -
android之layout布局和ListView中的一些属性介绍
一.android:singleLine设置单行显示。如果和layout_width一起使用,当文本不能全部显示时,后面用“…”来表示。如android:text="test_ singleLine "android:singleLine="true"android:layout_width="20dp"将只显示"t..."如果不设置singleLine或者设置为false原创 2013-08-09 10:29:42 · 3027 阅读 · 0 评论