
android入门
Java红桃峰峰日拱一卒
高级程序员,架构师
展开
-
android定位:获取当前位置的经纬度
Android定位主要使用的是基于位置服务(Location Based Service)技术,有了 Android 系统作为载体,我们可以利用定位出的位置进行许多丰富多彩的操作,比如定位城市,根据我们当前的位置,查找要去的目的地的路线等等,因此,现在几乎开发的每一款互联网app产品都有定位功能,好了,现在我们开始学习简单的定位。效果图:代码:activity_原创 2015-11-16 15:21:55 · 11540 阅读 · 9 评论 -
Fragment碎片入门教程
一、碎片Fragment的使用步骤:1、在layout文件夹下新建fragment.xml文件2、在src下新建我们自己的MyFragment,继承Fragment,使用inflater.inflate(R.layout.fragmenttest,container,false)方法加载fragment.xml文件3、在main.xml中加入4、在MainActivity.clas原创 2016-06-25 16:30:54 · 373 阅读 · 0 评论 -
Android的webview控件和js脚本语言交互小例子
一、实现功能:1、通过webview控件访问html中的js脚本2、js脚本再调用webview中的java函数把结果返回二、调用步骤:1、AndroidManifest.xml中必须使用许可 "android.permission.INTERNET", 否则会出Web page not available错误。2、设置webview支持脚本WebSettings原创 2016-03-30 17:58:39 · 773 阅读 · 0 评论 -
WebView控件替换方案
引用地址:http://www.cnblogs.com/ct2011/p/4100132.html为什么放弃WebViewAndroid WebView做普通浏览还好,做富文本编辑器(执行js:document.body.contentEditable=true;),常常会遇到各种奇葩的bug,而且很难修复。尽管Google在版本迭代中不断修复bug,但依旧没法转载 2016-03-30 18:02:34 · 8702 阅读 · 0 评论 -
SQLite数据库的增删改查
今天学习数据库的增删改查调用 SQLiteOpenHelper的 getReadableDatabase()或 getWritableDatabase()方法都会返回一个SQLiteDatabase对象,借助这个对象就可以对数据进行 CRUD 操作了。简述:一、数据库添加SQLiteDatabase中提供了一个 insert()方法,这个方法就是专门用于添加数据的。原创 2015-12-25 15:05:49 · 1074 阅读 · 0 评论 -
SQLite数据库创建、更新入门
简述: SQLiteOpenHelper 是一个抽象类,就是说如果我们想要使用它的话,就需要创建一个自己的帮助类去继承它。SQLiteOpenHelper 中有两个抽象方法,分别是onCreate()和 onUpgrade(),我们必须在自己的帮助类里面重写这两个方法,然后分别在这两个方法中去实现创建、升级数据库的逻辑。SQLiteOpenHelper 中还原创 2015-12-25 13:30:38 · 829 阅读 · 0 评论 -
ListView控件性能提升
ListView控件是 Android 中最常用的控件之一,几乎所有的应用程序都会用到它。比如淘宝app中,有很多的商家,每个商家还有很多的商品,但是手机屏幕很小,不可能一下子将所有的商家和商品都展示出来,所以就需要使用 ListView来实现。原创 2015-12-06 12:15:38 · 353 阅读 · 0 评论 -
自定义控件解决重复编码问题
使用自定义控件的方式解决了两个问题: 1、在每一个活动中 重复编写布局代码的问题, 2、在每一个活动中 都需要重新注册一遍返回按钮的点击事件下面直接看例子:效果图:my_layout.xml中的代码:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"原创 2015-12-04 14:20:07 · 341 阅读 · 0 评论 -
SharedPreference存储实战之记住登陆账号密码
数据持久化就是指将那些内存中的瞬时数据保存到持久化设备中(如手机文件、数据库等),当关机,停电后,数据不丢失。 Android 系统中主要提供了三种方式用于实现数据持久化功能,分别是: 1、文件存储 2、SharedPreference 存储 3、数据库存储。今日使用SharedPreference存储实现记住登陆账号密码的功能:效果图:activi原创 2015-12-04 11:01:45 · 1009 阅读 · 0 评论 -
Fragment碎片的生命周期
一、碎片的生命周期1、碎片和活动一样,也有四种状态,分别是:运行状态、暂停状态、停止状态和销毁状态。2、活动有的回调方法,碎片中除了没有onRestart()的,其他的都有,除此之外,碎片还有一些回调方法,如下:(1)、onAttach():当碎片和活动建立关联的时候调用。(2)、onCreateView():为碎片创建视图(即加载布局)时调用。(3)、onActivityCr原创 2016-06-25 18:21:39 · 616 阅读 · 0 评论 -
Android UI根据屏幕分辨率决定加载布局
Android中动态加载布局,可以提高用户的体验,在实际开发中,我们使用限定符来根据屏幕分辨率或者屏幕的大小决定加载那种布局,具体方法如下:1、在res文件夹下layout文件夹下放的xml布局文件是,Android屏幕认为的小屏幕设备;2、在res文件夹下layout-large文件夹放的xml布局文件是,Android屏幕认为的large的设备3、除了以上两种,还有一种就是:最小宽原创 2016-06-25 21:16:36 · 2971 阅读 · 0 评论 -
支付宝接口开发:客户端服务器端
本文是看到网上一位大神分享的博客,担心以后找不到,所以就记录一下,并非本人原创,参考博文地址:http://my.oschina.net/daniels/blog/597356这两天软件需要集成支付宝了,第一次集成,过程还是挺简单的,不过由于支付宝官方文档写的不够清晰,也是走了一些弯路,下面把过程写出来分享给大家 一、申请移动支付权限首先登录【支付宝开放平台】htt转载 2016-10-15 13:52:26 · 5041 阅读 · 0 评论 -
获得用户安卓设备的唯一编号
服务器主动推送数据到用户的设备上时,需要获得用户设备的唯一编号,来作为推送数据的设备,怎么样获得用户设备的唯一编号呢?这个问题有很多答案,但是他们中的大部分只在某些情况下有效。根据测试:· 所有的设备都可以返回一个 TelephonyManager.getDeviceId()· 所有的GSM设备 (测试设备都装载有SIM卡) 可以返回一个Teleph转载 2016-09-22 14:44:39 · 1061 阅读 · 0 评论 -
安卓大神开源项目
1、直接拿来用!最火的Android项目集合:http://www.youkuaiyun.com/article/2013-05-03/2815127-Android-open-source-projects2、大神1整理: http://www.eoeandroid.com/thread-311366-1-1.html 3、大神2整理转载 2016-08-14 18:15:35 · 363 阅读 · 0 评论 -
Animation动画之alpha
一、Android的Anotation由四种类型构成:alpha,scale,translate,rotate;二、在xml配置文件中alpha: 渐变透明度动画效果;scale: 渐变尺寸缩放动画效果translate: 画面位置移动动画效果rotate: 画面旋转 动画效果 三、xml配置文件存放位置a) 存放在res/anim文件加下,类访问方式原创 2016-09-02 15:39:41 · 15922 阅读 · 0 评论 -
android开机引导导航功能ViewPager(二)--增加导航页小横条指示
在《android开机引导导航功能ViewPager》博文的基础上进行增加,1、给MGuideAction实现implements OnPageChangeListener接口2、重写onPageScrollStateChanged,onPageScrolled ,onPageSelected方法3、在res/layout/mguide_layout.xml中增加 <Lin原创 2016-09-12 17:34:08 · 733 阅读 · 0 评论 -
android开机引导导航功能ViewPager
现在所有的android应用都有开机导航引导的功能,今天我们就实现一个简单的开机引导功能。下面开始码代码:一、ViewPager简介1、ViewPager在android-support-v4.jar包中,android-support-v4.jar 是谷歌官方给我们提供的一个兼容低版本安卓设备的软件包,里面包含了只有在安卓3.0以上才可以使用 的api。ViewPager是一个很常用的组原创 2016-09-10 15:00:26 · 2434 阅读 · 0 评论 -
计算两个坐标之间的距离
private const double EARTH_RADIUS = 6378.137; private static double rad(double d) { return d * Math.PI / 180.0; } /***double lat1, 第一个坐标纬度*double lng1第一个坐标经度*double lat2, 第转载 2016-08-29 18:07:20 · 5527 阅读 · 0 评论 -
xml解析之PULL
XML解析有三种方式1,DOM通用性强,它会将XML文件的所有内容读取到内存中,然后使用DOM API遍历XML树、检索所需的数据;优点:简单直观,但需要将文档读取到内存,缺点:并不太适合移动设备;2,SAXSAX是一个解析速度快并且占用内存少的xml解析器;采用事件驱动,它并不需要解析整个文档;3,PULL(移动端推荐使用)原创 2016-07-24 10:55:55 · 304 阅读 · 0 评论 -
如何在项目的任何地方轻松获取到全局状态信息Context
如何在项目的任何地方都轻松获取到 Context?答案:Android 提供了一个 Application 类,每当应用程序启动的时候,系统就会自动将这个类进行初始化。 我们定制一个自己的 Application 类,来管理程序内一些全局的状态信息,比如说全局 Context。步骤:首先我们需要创建一个 MyApplication 类继承 Application,代码如原创 2015-12-04 16:42:25 · 470 阅读 · 0 评论 -
Android中通知的提示音、震动和LED灯效果小例子
通知(Notification)是 Android 系统中比较有特色的一个功能,当某个应用程序希望向用户发出一些提示信息,而该应用程序又不在前台运行时,就可以借助通知来实现。发出一条通知后,手机最上方的状态栏中会显示一个通知的图标,下拉状态栏后可以看到通知的详细内容。使用:当程序进入到后台的时候我们才需要使用通知,所以在广播接收器和服务中使用通知较多。下面的代码是在通知原创 2015-12-21 18:02:40 · 5780 阅读 · 1 评论 -
Android通知Notification入门小例子(一)
通知(Notification)是 Android 系统中比较有特色的一个功能,当某个应用程序希望向用户发出一些提示信息,而该应用程序又不在前台运行时,就可以借助通知来实现。发出一条通知后,手机最上方的状态栏中会显示一个通知的图标,下拉状态栏后可以看到通知的详细内容。使用:当程序进入到后台的时候我们才需要使用通知,所以在广播接收器和服务中使用通知较多。效果图:原创 2015-12-21 13:12:13 · 1691 阅读 · 0 评论 -
android入门(一)---UI组件之文本框(TextView)
以前学习Android不做笔记,有的甚至只是看看就过去了,都不实际操作一遍。一段时间以后已经遗忘了,尤其是学到后面需要综合运用的时候,就感觉到什么都不会了。这或许就是欲速则不达,所以从今天开始,学会一点就做一点笔记,一方面是增加理解,另一方面也为了以后查找方便。一、文本增加连接 对普通文本中的电话号、邮箱、网址等增加链接,代码如下:<RelativeLayout xmlns:转载 2015-10-22 22:44:15 · 729 阅读 · 0 评论 -
Android入门---GridView组件
在手机首页显示的app应用图标都是以网格的形式展示的,所以今天就来学习一下GridView组件。列表分为单行和多行,如果是列表(单列多行形式)的使用ListView,如果是多行多列网状形式的优先使用GridView。效果演示:activity_main.xml代码:<LinearLayout xmlns:android="http://schemas.原创 2015-10-28 14:32:33 · 430 阅读 · 0 评论 -
DatePicker和TimePicker入门
今天学习日期控件和时间控件效果图:activity_main.xml中的代码:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fi原创 2015-11-11 21:41:35 · 339 阅读 · 0 评论 -
SeekBar控件入门
SeekBar控件是一个进度条的控件,我们再看视频或者听歌时,都能看到一个移动的进度条,而且还可以拖拽,就是今天我们要学习的这个控件,好了,现在开始学习。api自带的SeekBar控件效果图:项目下载: 自带SeekBar控件小例子下载activity_main.xml中的代码:<LinearLayout xmlns:原创 2015-11-11 15:51:37 · 923 阅读 · 0 评论 -
ProgressBar控件入门
ProgressBar进度条在实际开发中,很是常用,任何耗时操作都会使用进度条来告诉用户,这里会话费一点时间,请耐心等待。废话不多说,直接上代码。效果图:项目下载链接: ProgressBar自定义进度圈下载代码:1、新建一个普通的java类CircleProgressBar,代码如下:package com.test原创 2015-11-11 14:21:14 · 628 阅读 · 0 评论 -
android入门---Activity组件.活动(一)
一、简介 Android系统共有四大组件,分别是:活动(Activity),服务(Service),广播接收器(Broadcase Receiver)和内容提供者(Content Provider)。其中活动是应用程序的门面,所有能看到的东西,都放在活动中。 今天跟着Android api 学习activity组件,我这里理论知识较少,基本都是直接上代码,自己运行原创 2015-10-26 13:28:49 · 484 阅读 · 0 评论 -
Android入门----Switch控件
Switch是Android的一个开关控件,但是该控件是4.0以后才有得,故而有些项目需要的时候不得不自己去实现该控件功能,网上主要流行的方法是继承View等控件自己在onDraw()里面绘制控件,但是不是效果不太理想就是体验性太差,另外也有修改官方Switch控件的,个人觉得修改官方Switch控件比较靠谱,比较体验性方面性能方面都有保证一 、使用Switch控件自带的开关效果效果图原创 2015-11-05 14:42:40 · 738 阅读 · 0 评论 -
Android入门---ImageView(图像视图)
ImageView是Androird中用于加载图片的控件,今天来学一些简单的属性。一、ImageView的src属性和blackground属性的区别:1、当使用src填入图片时,是按照图片大小直接填充,并不会进行拉伸 ;2、而使用background填入图片,则是会根据ImageView给定的宽度和高度来进行拉伸src和background原创 2015-11-04 13:42:33 · 751 阅读 · 0 评论 -
获取apk文件上的精美图片素材
下载一个apk安装包,将后缀名改为zip形式,然后解压,进入即可获得你想要的图片,但是xml文件和class类是不能够看的步骤如下:将后缀名改为zip形式,然后解压:获得你想要的图片:原创 2015-10-30 11:49:09 · 2413 阅读 · 0 评论 -
RelativeLayout中Margin属性
我们玩游戏时,经常弹出来广告页面窗口,在图片的右上角有一个取消按钮,这个按钮有一部分在广告内容里面,一部分在外面,今天就来实现这个样式。activity_main.xml中未使用margin的代码:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http:原创 2015-10-30 13:31:58 · 879 阅读 · 0 评论 -
Android四大组件之服务(一)-----服务基础功能简述
服务(Service)是android的四大组件之一,在Android项目中担任着后台运行的大任,主要去完成那些不需要和用户交互而且还要求长时间运行在后台的工作。服务的运行不会对用户使用app造成任何影响,这个组件属于很常用的组件,几乎每一款app产品都会用到,比如后台更新天气,这个动作是在我们毫无察觉的情况下替我们完成的。今天就学习一下,服务的基本用户。效果图:代码:原创 2015-12-21 10:47:36 · 1067 阅读 · 0 评论 -
Android数据持久化功能之一:文件存储
数据持久化就是指将那些内存中的瞬时数据保存到持久化设备中(如手机文件、数据库等),当关机,停电后,数据不丢失。 Android 系统中主要提供了三种方式用于实现数据持久化功能,分别是: 1、文件存储 2、SharedPreference 存储 3、数据库存储。 今天我们学习第一种存储方式:文件存储。 使用范围:文件储存适合用于存储一些简单的文本数据或二进制数据。原创 2015-12-02 20:11:47 · 497 阅读 · 0 评论 -
Android数据持久化之二:SharedPreferences 存储(上)
数据持久化就是指将那些内存中的瞬时数据保存到持久化设备中(如手机文件、数据库等),当关机,停电后,数据不丢失。 Android 系统中主要提供了三种方式用于实现数据持久化功能,分别是: 1、文件存储 2、SharedPreference 存储 3、数据库存储。 今天我们学习第二种存储方式:SharedPreferences存储。 SharedPreferences 是使用键原创 2015-12-02 21:05:04 · 750 阅读 · 0 评论 -
Android数据持久化之二:SharedPreferences 存储(下)
上一节我们实现Android的第二种存储方式:SharedPreferences存储,但是只写了一个保存,今天把查询也协商,实现保存,查询功能。理论上一节都有了,直接上代码了:效果图:activity_main.xml中的代码:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/原创 2015-12-03 10:12:16 · 572 阅读 · 0 评论 -
Adb connection Error:远程主机强迫关闭一个现有的连接--解决方法
android中经常会发生模拟器或者手机连接不上eclipse的情况,如果是远程主机强迫关闭了一个现有的连接,就有可能是由于端口被占用导致的,可以使用下面的方法把被占用的端口号释放出来即可,解决方法如下:错误提示如下:1、CMD命令窗口输入:adb nodaemon server 。然后就会提示你哪个端口被占用了。2、输入netstat -ano | finds原创 2016-01-03 09:32:32 · 5307 阅读 · 0 评论 -
android下拉刷新功能---教你实现简单的ListView下拉刷新
android中数据的更新需要用户很方便就能操作,其中下拉刷新就是很好的一种用户体验方式,这是郭林大神在网上的一个下拉刷新的demo,我做了一点小小的修改,然后加了一些注释,记录在博客中,以后开发中需要的时候,直接拿过来用。效果图:页面布局1、layout文件下有两个xml文件:activity_main.xml中代码:<RelativeLayout原创 2015-12-14 13:42:44 · 849 阅读 · 0 评论 -
ListView分页展示数据功能一(按钮方式)
我们在看微博或是到网上商城如淘宝中购物时,每一个商家都会有很多商品,如果把某商家的所有商品都一次性加载过来,会造成手机卡顿,影响用户体验,所以每次加载少量数据,使用分页的形式,分多页加载,会很好的提高用户体验度,这是一个使用按钮实现分页的demo。后面附有项目源码,可以下载。效果图:布局:activity_main.xml中代码:<LinearLayout xm原创 2015-12-14 15:24:28 · 992 阅读 · 0 评论 -
AsyncTask 异步消息处理机制
Android 提供了一个好用的工具---AsyncTask ,方便我们在子线程中对 UI 进行操作,AsyncTask 背后的实现原理也是基于异步消息处理机制的。下面是AsyncTask的一个小demo。1、效果图:2、activity_main.xml中的代码:<LinearLayout xmlns:android="http://schemas.a原创 2015-12-11 16:46:41 · 354 阅读 · 0 评论