android 基础知识
炸斯特
2015年毕业于东大,目前在阿里。全栈工程师。如果文章对你有所帮助,请关注支持下我的公众号“贞会说”(ZhenHuiShuo)。我一直在记录自己的职场经验和总结,来看看,对你有用,人生就怕走了弯路,有困惑来交流一下,少走弯路,很重要。
展开
-
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 · 136165 阅读 · 21 评论 -
android开发之使用SQLite数据库存储
SQLite 介绍SQLite 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且只利用很少的内存就有很好的性能。此外它还是开源的,任何人都可以使用它。许多开源项目((Mozilla, PHP, Python)都使用了 SQLite.SQLite 由以下几个组件组成:SQL 编译器、内核、后端以及附件。SQLite 通过利用虚拟机和虚拟数据库引擎(VDBE),使调试、修改和扩展 SQL原创 2013-11-16 20:56:56 · 10128 阅读 · 0 评论 -
android开发之滑动效果实现图片浏览_ViewFilpper的使用
ViewFilpper 是Android官方提供的一个View容器类,继承于ViewAnimator类,用于实现页面切换,也可以设定时间间隔,让它自动播放。又ViewAnimator继承至于FrameLayout的,所以ViewFilpper的Layout里面可以放置多个View 本示例通过ViewFlipper和GestureDetector.OnGestureListener实现自原创 2013-09-29 16:42:39 · 9144 阅读 · 2 评论 -
android错误之android.os.NetworkOnMainThreadException
在做一个天气预报的widget的时候,参考了一个源代码,但是一直报错,就从里面抠出来获取天气的代码试试看,结果总是报错 就是这个异常,android.os.NetworkOnMainThreadException代码是这样的:MainActivity:public class MainActivity extends Activity { MyWeather myWe原创 2013-09-27 08:35:43 · 7345 阅读 · 0 评论 -
android开发之GPS定位详解
一、LocationManagerLocationMangager,位置管理器。要想操作定位相关设备,必须先定义个LocationManager。我们可以通过如下代码创建LocationManger对象。LocationManger locationManager=(LocationManager)this.getSystemService(Context.LOCATION_SERVICE原创 2013-09-26 14:04:26 · 61855 阅读 · 23 评论 -
android开发之Intent.setFlags()_让Android点击通知栏信息后返回正在运行的程序
在应用里使用了后台服务,并且在通知栏推送了消息,希望点击这个消息回到activity,结果总是存在好几个同样的activity,就算要返回的activity正在前台,点击消息后也会重新打开一个一样的activity,返回好几次才能退出,而不能像qq之类的点击通知栏消息回到之前存在的activity,如果存在就不再新建一个activity说的有点绕,如果是遇到此类问题的肯定能懂,没遇到过原创 2013-09-23 18:07:59 · 10932 阅读 · 1 评论 -
android开发之Notification_通知栏消息
Notification简介 Notification看名字就知道,是一个和提醒有关的东西,它通常和NotificationManager一块使用。具体来说,其主要功能如下。 1.NotificationManager和Notification用来设置通知 通知的设置等操作相对比较简单,基本的使用方式就是新建一个Notification对象,设置好通知的各项参数,然后使用系统后台原创 2013-09-23 12:03:00 · 18929 阅读 · 4 评论 -
android开发之短信监听拦截_BroadcastReceiver的使用
1.广播被分为两种不同的类型:“普通广播(Normal broadcasts)”和“有序广播(Ordered broadcasts)”。 普通广播是完全异步的,可以在同一时刻(逻辑上)被所有接收者接收到,消息传递的效率比较高, 但缺点是:接收者不能将处理结果传递给下一个接收者,并且无法终止广播Intent的传播。 有序广播是按照接收者声明的优先级别,被原创 2013-09-16 09:37:48 · 8436 阅读 · 0 评论 -
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 · 22274 阅读 · 5 评论 -
android之获取应用中的图片资源_获取找你妹中的图片资源
一直不知道原来获取一个应用中的图片资源这么简单,刚才直接把apk解压,就得到了里面的一下文件,搜索一下就全部把图片资源找出来了,想要模仿应用或者自己不会ui的话,用现成的资源方便多了.也没多少说的,直接解压就行了,根据存放路径很容易就找到了.分享一下找你妹的图片资源.点击打开链接原创 2013-08-30 11:46:11 · 2095 阅读 · 0 评论 -
android UI之Shape详解_GradientDrawable
在Android开发过程中,经常需要改变控件的默认样式, 那么通常会使用多个图片来解决。不过这种方式可能需要多个图片,比如一个按钮,需要点击时的式样图片,默认的式样图片。 这样就容易使apk变大。 那么除了使用drawable这样的图片外,还有其他方法吗? 本次就谈一下自定义图形shape,Android上支持以下几种属性gradient、stroke、原创 2013-08-25 16:01:33 · 4576 阅读 · 1 评论 -
android之ListPreference的用法_PreferenceActivity用法
首先,我们明确,preference是和数据存储相关的。 其次,它能帮助我们方便的进行数据存储!为什么这个地方一定要强调下方便的这个词呢?原因是,我们可以根本就不使用,我们有另外的N种办法可以实现同样的功能!它的出现,相当于为我们提供了一个方便的工具,当然了,这个工具并不是必须的。 preference都应用在什么场景呢? 这得从andr原创 2013-08-18 23:28:23 · 11808 阅读 · 1 评论 -
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 · 16988 阅读 · 3 评论 -
android之存储篇_ContentProvider存储
ContentProvider是安卓平台中,在不同应用程序之间实现数据共享的一种机制。一个应用程序如果需要让别的程序可以操作自己的数据,即可采用这种机制。并且此种方式忽略了底层的数据存储实现,ContentProvider提供了一种统一的通过Uri实现数据操作的方式。其步骤为: 1. 在当前应用程序中定义一个ContentProvider。 2. 在当前应用程序的AndroidMani原创 2013-08-16 11:17:07 · 4104 阅读 · 1 评论 -
android之存储篇_SQLite存储方式
SQLite是一种转为嵌入式设备设计的轻型数据库,其只有五种数据类型,分别是: NULL: 空值 INTEGER: 整数 REAL: 浮点数 TEXT: 字符串 BLOB: 大数据 在SQLite中,并没有专门设计BOOLEAN和DATE类型,因为BOOLEAN型可以用INTEGER的0和1代替true和false,而DATE类型则可以拥有特原创 2013-08-16 10:48:39 · 13607 阅读 · 0 评论 -
android之存储篇_SharedPreferences存储方式
SharedPreferences是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。其存储位置在/data/data//shared_prefs目录下。SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现。实现SharedPreferences存储的步骤如下: 一、根据C原创 2013-08-16 10:20:56 · 3052 阅读 · 1 评论 -
android之Activity.startManagingCursor方法详解
在使用数据库操作查询数据后,如果是在Activity里面处理,那么很可能就会用到startManagingCursor()方法,在这里讲一下它的作用和使用注意事项.调用这个方法,就是将获得的Cursor对象交与Activity 来管理,这样Cursor对象的生命周期便能与当前的Activity自动同步,省去了自己管理Cursor。看下文档里的注释This method allows原创 2013-08-15 15:55:53 · 10797 阅读 · 0 评论 -
android之选择联系人并返回电话号码
在跟着这个教程联系的时候,它所用到的选择联系人方式是自己从数据库里把联系人读取出来,然后用listview显示,选择后返回手机号码,这样做在点击选择联系人的时候,需要时间去加载,并且显示出来的联系人好像并不全,总之感觉不好,想通过调用系统联系人的方式选择,不用自己去处理界面。结果还不错:MainActivity:package jason.pickcontact;imp原创 2014-03-23 07:38:19 · 16718 阅读 · 2 评论 -
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 · 109808 阅读 · 5 评论 -
android之interpolator的用法详解
android:interpolator Interpolator 被用来修饰动画效果,定义动画的变化率,可以使存在的动画效果accelerated(加速),decelerated(减速),repeated(重复),bounced(弹跳)等。 android中的文档内容如下: AccelerateDecelerateInterpolator 在动画开始与介绍的地原创 2013-11-17 16:17:27 · 102879 阅读 · 14 评论 -
android之存储篇_SQLite数据库_让你彻底学会SQLite的使用
SQLite最大的特点是你可以把各种类型的数据保存到任何字段中,而不用关心字段声明的数据类型是什么。例如:可以在Integer类型的字段中存放字符串,或者在布尔型字段中存放浮点数,或者在字符型字段中存放日期型值。但有一种情况例外:定义为INTEGERPRIMARYKEY的字段只能存储64位整数,当向这种字段保存除整数以外的数据时,将会产生错误。另外,SQLite在解析CR...原创 2013-08-24 07:51:43 · 204089 阅读 · 16 评论 -
windows平台下载android源码
最近在看《android内核剖析》,很多细节不具体看代码很难理解,记住了印象也不深,感觉还是跟着源码走一遍好些,回来下载android源码,遇到不少问题,终于开始下载了,整理下流程,鉴于网上很多教程时间久了都会失效,本文截止14年4月18日亲测有效。需要工具如下:下载msysgit,安装 官方下载:http://code.google.com/p/msysgit/downloads原创 2014-04-18 13:37:05 · 21179 阅读 · 22 评论 -
android开发之提高应用启动速度_splash页面瞬间响应_避免APP启动闪白屏
Application和Activity中的onCreate都进行了优化,基本没有耗时操作,但是启动应用之后还是会闪现一下白色背景,然后才进入Splash页面,对比了一下QQ、微信、微博等客户端,点击之后都是瞬间响应Splash启动页,差别在哪里呢。其实就算你onCreate啥都不做,仍然会闪一下白屏,因为初始化解析界面时需要一定时间,解决方法是自定义Theme。自定义如下AppSplash" p原创 2015-05-07 12:58:13 · 24847 阅读 · 8 评论 -
android开发之android:process属性_application中onCreate执行多次
应用做的匆忙,很多地方只顾实现功能,没有兼顾好性能,所以停下来重构代码优化性能,结果在打log看启动时间的时候,发现Application的onCreate执行了多次,这样导致重复初始化资源,初始化了3次导致接近1s时间。发现这个是由独立进程引起的。即:process这个属性。android:process 服务所在进程的名字。通常,一个应用的所有组件都运行在系统为这个应用所创建的默原创 2015-05-07 10:59:21 · 19448 阅读 · 2 评论 -
android之知识点小结一
Manifest.xml文件中的一些代码作用: <activity android:name=".LunchList" android:label="@string/app_name"> <meta-data an原创 2013-08-19 07:40:00 · 2991 阅读 · 0 评论 -
android之知识点小结二
SharedPreferences的使用:在这里也是偏向于使用android自带的SharedPreferences管理机制,简要说明使用流程,备忘:首先在主activity里面初始化SharedPreferences,SharedPreferences prefs=null;...@Override public void onCreate(Bundle savedIns原创 2013-08-19 08:40:19 · 3365 阅读 · 0 评论 -
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 · 30995 阅读 · 8 评论 -
android之ContentObserver内容观察者的使用
ContentObserver——内容观察者,目的是观察(捕捉)特定Uri引起的数据库的变化,继而做一些相应的处理,它类似于 数据库技术中的触发器(Trigger),当ContentObserver所观察的Uri发生变化时,便会触发它。(1)注册: public final void registerContentObserver(Uri uri, boolean noti原创 2014-03-30 13:34:29 · 8946 阅读 · 2 评论 -
android之eclipse下查看android系统源代码
刚看了一个介绍查看java源代码的文章,想起来一直没看过android自带的sdk的源代码,应该可以直接导入到eclipse里面的,就尝试了一下,果然行得通. 在看代码的时候,会经常用到 ctrl+鼠标左键 去看自己写的类,有时候点到java的类或者android的类就无法打开,显示no class found之类的东西, 1.拿Button举例,ctrl加鼠标左键,然后显示了no原创 2013-08-14 10:15:37 · 6620 阅读 · 0 评论 -
Android之使用weight属性实现控件的按比例分配空间
从今天开始,把看书时候的知识点整理成博客,这个比较简单,估计有经验的都用过,weight属性 在做Android布局的时候,经常遇到需要几个控件按比例分配空间的情况比如下图效果在底部设置两个button,占据底部宽度一部分的同时,保持1:3的比例,当然了,这么难看的布局用处不大,仅是用来说明weight的用法布局代码如下:<LinearLayout xmlns:原创 2014-05-14 22:15:12 · 19265 阅读 · 6 评论 -
Android平台下OpenGL初步
转自网上,网上没找到出处,只看到一些论坛中有这篇文章,组织的有点混乱,这篇文章感觉讲的挺好的。http://www.bangchui.org/read.php?tid=7572&page=1本文只关注于如何一步步实现在Android平台下运用OpenGl。 1、GLSurfaceViewGLSurfaceView是Android应用程序中实现OpenGl画图的重要组成部分。原创 2013-06-24 20:13:25 · 49466 阅读 · 15 评论 -
android开发之蓝牙配对连接的方法
新年第一篇。最近在做蓝牙开锁的小项目,手机去连接单片机总是出现问题,和手机的连接也不稳定,看了不少蓝牙方面的文档,做了个关于蓝牙连接的小结。在做android蓝牙串口连接的时候一般会使用BluetoothSocket tmp = null;// Get a BluetoothSocket for a connection with the// given BluetoothDevi原创 2014-01-03 09:18:38 · 73738 阅读 · 24 评论 -
android之如何在两个activity之间传递handler_利用broadcast广播机制
这算是如何在两个activity之间传递handler的解决方案二了,解决方案一见http://blog.csdn.net/jason0539/article/details/18055259再重复一遍我遇到的问题,就是在MainActivity里面打开AnotherActivity去执行一些操作,相应的改变MainActivity里的一些布局或者执行一些动作,最开始想到的就是把MainAct原创 2014-01-10 11:43:52 · 31908 阅读 · 16 评论 -
java在用SimpleDateFormat格式化时间时月份出现奇怪值
这两天在做课设,关于图书管理系统的,其中在借书的记录中,时间记录的月份总是出现不正常的数值,大于12经常四十几五十几,经过对借书模块的跟踪,最后将错误定位到了时间格式化的这行代码SimpleDateFormat f = newSimpleDateFormat("yyyy-mm-dd HH:mm:ss");经过这行代码是要将格式化为常见的2013-07-11 09:07:20这种格式,结果经原创 2013-07-11 09:18:28 · 19953 阅读 · 5 评论 -
Android游戏开发教程------(绘制屏幕)
游戏开发的基本原理:启动一个Activity对象,然后让其显示一个GameCanvas对象(setContentView(GameCanvas));,GameCanvas 里面做游戏逻辑,用户键盘或屏幕输入,屏幕的绘制等这些工作。 那具体怎么做呢?说到重点了。先来讲GameCanvas(游戏画布) 。这是一个类,也就是我们游戏的画布。开发游戏的时候大部分原创 2013-05-28 17:45:27 · 2706 阅读 · 1 评论 -
android之如何使用Android的搜索框架
当你需要在你的应用程序中提供搜索服务时,通过使用Android的搜索框架,应用程序将显示一个自定义搜索对话框来处理用户的搜索请求。通过一个简单的搜索按钮或从您的应用程序中调用API,搜索对话框就会显示在屏幕的顶部,并会自动显示应用程序图标。本文将教你如何为你的应用程序提供一个自定义搜索对话框。这样做,给您的用户提供一个标准化的搜索体验,并能增加如语音搜索和搜索建议等功能。基础知识A原创 2013-08-17 18:07:48 · 6846 阅读 · 1 评论 -
android之两种设置全屏或者无标题的方法
在开发中我们经常需要把我们的应用设置为全屏或者不想要title,这里是有两种方法的,一种是在代码中设置,另一种方法是在配置文件里改:一、在代码中设置:package jason.tutor; import android.app.Activity; import android.os.Bundle; import android.view.Window; imp原创 2013-08-02 18:40:38 · 13093 阅读 · 0 评论 -
android之startActivityForResult的使用
在Android中startActivityForResult主要作用就是:A-Activity需要在B-Activtiy中执行一些数据操作,而B-Activity又要将,执行操作数据的结果返回给A-Activtiy//看效果//看代码[java] view plaincopypackage jason.actres;原创 2013-08-09 16:55:49 · 1965 阅读 · 1 评论 -
android之SharedPreferences简介
SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置比如窗口状态,一般在Activity中重载窗口状态onSaveInstanceState保存一般使用SharedPreferences完成,它提供了Android平台常规的Long长整型、Int整型、String字符串型的保存.2个activity 之间的数据传递除了可以通过intent来传递,原创 2013-07-28 21:17:57 · 2036 阅读 · 0 评论 -
14个简单有用的android源码,适合初学者
1:查看是否有存储卡插入String status=Environment.getExternalStorageState();if(status.equals(Enviroment.MEDIA_MOUNTED)){ ;//说明有SD卡插入}2:让某个Activity透明在OnCreate 中不设Layout,然后this.setTheme(R.style.Th原创 2013-08-07 23:05:25 · 11528 阅读 · 1 评论