android入门到精通
醉墨重生
世间万物终有循环,太极阴阳始的初衷。
展开
-
android设备市场分析
设备活跃指数设备品牌指数android系统版本分析 4.0/5.0/6.0三个版本的占比持续下滑,未来7.0版本的占比持续提高,屏幕的尺寸5.5与5.0两个尺寸占比接近六成。屏幕分辨率趋势 分辨率方面1920x1080以及1280x720是应用适配占比最高。其中只有1920x1080、720x1208和1776x1080三种屏幕分辨率是在上...原创 2018-07-11 11:38:17 · 1011 阅读 · 0 评论 -
Android零碎小知识
获取当前的版本号 public double getVersionCode() { try { int versionCode = getPackageManager().getPackageInfo(getPackageName(), 0).versionCode; return versionCode; } catch (PackageMan原创 2017-12-29 09:43:09 · 189 阅读 · 0 评论 -
MaterialDesign应用技术
TableLayout布局<android.support.design.widget.TabLayout android:id="@+id/tab" android:layout_width="match_parent" android:layout_height="wrap_content" app:tabBackground="@color/col原创 2018-01-03 14:42:44 · 394 阅读 · 0 评论 -
Activity还是getApplicationContext、Fragment
Activity还是getApplicationContext显示dialog必须使用Activity使用adapter中初始化convertView最好使用Activity显示地图时必须使用ApplicationContext其他绝大的情况下两者都可以选择ApplicationContext肯定没有问题选择Activity可能会导致Activity原创 2017-12-27 11:36:28 · 1144 阅读 · 0 评论 -
android studio下的sha1值获取
一、首先在app下定义一个文件夹:keystoreBuild->Generate Signed APK->Create New key store->选择自己项目的keystore下,名字写build->输入密码和其他信息,Alias我写的是build->选择build二、完成后重复上步骤Build->Generate Signed APK->Create New key store-原创 2017-10-18 17:26:31 · 201 阅读 · 0 评论 -
TabLayout、ViewPager、fragment实现可滑动的顶部菜单
首先看下效果第一步:主布局<LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical"> <android.support.v7.widget.Toolbar原创 2017-12-07 19:39:54 · 655 阅读 · 1 评论 -
Drawerlayout和ToolBar进行整合
首先可以看一下效果\上一篇文章我们使用的是Drawerlayout和Naviagtion实现了侧滑的效果,大家可以看下http://blog.csdn.net/qq_24675479/article/details/78743924。这个项目是基于上个项目来实现的第一步:我们定义一下样式,因为我们默认的Toolbar标题和图标是黑色的name="AppTheme.ToolBar原创 2017-12-07 18:38:31 · 303 阅读 · 0 评论 -
DrawerLayout和Navigation实现侧滑菜单
DrawerLayout1.以android.support.v4.widget.DrawerLayout为根控件,导入: compile 'com.android.support:design:24.2.1'2.Drawerlayout下包裹两个控件,第一个是内容控件,第二个是侧滑控件,使用android:layout_gravity来指定它的滑动位置,start表示左划出原创 2017-12-07 17:46:20 · 317 阅读 · 0 评论 -
利用Path实现酷炫的启动界面
参考GitHub源码的位置https://github.com/geftimov/android-pathview首先第一步写布局com.eftimoff.androipathview.PathView xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/pathView" a原创 2017-12-15 11:05:57 · 522 阅读 · 0 评论 -
手势的简单使用
第一步:定义手势private GestureDetector detector第二步:初始化手势并初始化事件detector=new GestureDetector(this,new GestureDetector.SimpleOnGestureListener(){ @Override public void onLongPress(MotionEven原创 2017-12-06 14:22:21 · 226 阅读 · 0 评论 -
Android studio的安装和配置
1.下载:到 https://developer.android.com/sdk/index.html 去下载Android Stuido2.安装步骤1、2、 红色箭头依次说明: Android Studio: 强制选项,为IDE工具部分_ Android SDK: 可选选项,为SDK工具包部分_ Android Virtual Dev原创 2017-11-26 14:30:40 · 330 阅读 · 0 评论 -
Animation——View动画
什么是动画动画有下面两种情况同一个图形通过视图在界面上进行透明度,缩放,旋转,平移的变化(View动画)在界面的同一个位置上不断切换显示不同的图片(Drawable动画)动画的分类View AnimationDrawable AnimationAndroid中提供了两种实现动画的方式纯编码的方式xml配置的方式动画在应用中是非常常见的界面效果, 也是提原创 2018-01-22 11:19:35 · 1248 阅读 · 0 评论 -
打开相机和相册并保存图片
首先打开相机和保存图片 @OnClick(R.id.tv_user_change) public void changeIcon(View view) { String[] items = new String[]{"图库", "相机"}; //提供一个AlertDialog new AlertDialog.Builder(this)原创 2017-12-29 16:13:00 · 531 阅读 · 0 评论 -
四大组件之ContentProvider
理论概述为什么要有ContentProvider?功能需求: 一个应用需要访问另一个应用的数据库表数据实际情况: 一个应用的数据库文件是应用私有的, 其它应用不能直接访问ContentProvider是什么?ContentProvider是四大应用组件之一当前应用使用ContentProvider将数据库表数据操作暴露给其它应用访问其它应用需要使用ContentReso原创 2018-01-20 17:03:05 · 245 阅读 · 0 评论 -
四大组件之BroadcastReceiver
理解广播与广播接收器广播事件处理属于系统级的事件处理(一般事件处理是属于View级的事件处理)一个应用可以在发生特定事件时发送Broadcast, 系统中任何应用只要注册了对应Receiver就会接收到此Broadcast一个应用如果对某个广播感兴趣, 就可以注册对应的Receiver来接收广播广播事件机制是应用程序(进程间)之间通信的一种手段相关APIContexts原创 2018-01-20 12:51:09 · 238 阅读 · 0 评论 -
图片三级缓存
什么是三级缓存?1). 图片的三级缓存一级缓存: 内存缓存, 缓存的是bitmap对象, 用Map结构保存, key是url二级缓存: 本地(sd卡)缓存, 缓存的是图片文件, /storage/sdcard/Android/data/packageName/files/图片文件名(xxx.jpg)三级缓存: 远程服务器缓存, 缓存的是图片文件, 远程服务器上的应用中原创 2018-01-14 20:49:38 · 916 阅读 · 0 评论 -
四大组件之service简单介绍和AIDL的简单使用
Service是什么1.Service是一个应用组件, 它用来在后台完成一个时间跨度比较大的工作且没有关联任何界面2.一个Service可以完成下面这些工作:访问网络 播放音乐 文件IO操作 大数据量的数据库操作 ……3. 服务的特点:Service在后台运行,不用与用户进行交互 即使应用退出, 服务也不会停止. 在默认情况下,Service运行在应用程序进程的主线程(UI线程)中,原创 2018-01-20 08:51:25 · 306 阅读 · 0 评论 -
事件机制分发
相关API1. MotionEvent : 触屏事件int ACTION_DOWN=0 : 代表downint ACTION_MOVE=2 ; 代表moveint ACTION_UP=1 : 代表upgetAction() : 得到事件类型值getX() : 得到事件发生的x轴坐标(相对于当前视图)getRawX() :得到事件发生的x轴坐标(相对于屏幕左顶点)原创 2018-01-19 22:21:16 · 198 阅读 · 0 评论 -
Android存储方式二:sqlite数据库
说明应用运行需要保存一系列有一定结构的数据, 比如说公司员工信息文件类型: .db数据保存的路径: /data/data/projectPackage/databases/xxx.db默认情况下其它应用不能访问, 当前应用可以通过ContentProvider提供其它应用操作应用卸载时会删除此数据sqlite数据库SQLite (http://www.sqlite.原创 2018-01-19 11:43:07 · 437 阅读 · 0 评论 -
Android数据存储方式一:sharedprefrence存储,外部存储,内部存储
Android数据存储方式SharedPrefrence存储说明SP存储专门用来存储一些单一的小数据存储数据的类型: boolean, float, int, long, String数据保存的路径: /data/data/packageName/shared_prefs/yyy.xml可以设置数据只能是当前应用读取, 而别的应用不可以应用卸载时会删除此数据原创 2018-01-18 16:17:58 · 498 阅读 · 0 评论 -
ShareSDK分享给好友
常用的分享功能实现的框架http://mob.com/https://www.umeng.com/sharesdk说明:ShareSDK是一种社会化分享组件,为iOS、Android、WP8 的APP提供社会化功能,集成了一些常用的类库和接口,缩短开发者的开发时间,还有社会化统计分析管理后台。支持包括QQ、微信、新浪微博、腾讯微博、开心网、人人网、豆瓣、网易原创 2017-12-30 14:30:11 · 490 阅读 · 0 评论 -
第三方图表库MPAndroidChart的使用
github分享的地址:https://github.com/PhilJay/MPAndroidChart折线图@Overrideprotected void initData() { mTf = Typeface.createFromAsset(getAssets(), "OpenSans-Regular.ttf"); //设置当前折线图的描述 lineChar原创 2017-12-30 12:23:46 · 624 阅读 · 0 评论 -
Android apk更新
代码如下:public class WelcomeActivity extends Activity { private static final int WHAT_START_MAIN = 1;//跳转到主页面 private static final int WHAT_REQUEST_UPDATE_ERROR = 2;//请求更新错误 private stati原创 2017-12-30 17:13:24 · 896 阅读 · 0 评论 -
监听电量广播
第一步:自定义广播class MyReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { int level = intent.getIntExtra("level", 0); setBatt原创 2017-12-05 16:32:48 · 258 阅读 · 0 评论 -
酷炫轮播广告
一、广告轮播条的简介 广告轮播条在HTML网页设计以及APP界面设计中非常常见,如下图所示。在Android中,实现的方式可以是自定义ViewPager来实现,但是我们程序员中流传的一句名言,“不要重复造轮子”。因此我们也可以通过网上已经有的开源项目来进行开发,拿来主义,直接拿来用就可以了,这样极大地加快了我们的开发速度。 二、AndroidImageSlider简介原创 2017-12-13 17:36:32 · 957 阅读 · 0 评论 -
简单的实现播放视频
获取本地视频public void getDataFromLocal() { mediaItems = new ArrayList; new Thread() { @Override public void run() { super.run(); ContentResolver resolve原创 2017-12-05 08:44:00 · 348 阅读 · 0 评论 -
Android摄像头基础(一)
Android调用系统相机原创 2017-08-01 14:24:07 · 292 阅读 · 0 评论 -
问答机器人
利用聚合数据的API进行测试,这里的API请自行去聚合数据官网下载原创 2017-08-02 10:41:55 · 982 阅读 · 0 评论 -
模拟器安装搜狗输入法apk
我将sougou.apk放入到f盘中启动模拟器,打开cmd,输入 adb install f:\sougou.apk原创 2017-08-03 10:09:53 · 1614 阅读 · 0 评论 -
GridView实现加载本地所有图片
public class MainActivity extends Activity {private GridView gridView;// 获取所有图片的路径List imagePath = new ArrayList();@Overrideprotected void onCreate(Bundle savedInstanceState) {super.on原创 2017-08-03 12:16:20 · 1256 阅读 · 0 评论 -
Android打开微信等其他应用
打开110 String phoneNumber = "120"; Intent intentPhone = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + phoneNumber)); startActivity(int原创 2017-08-24 16:21:06 · 5690 阅读 · 1 评论 -
JDBC的使用(一)
Java 中的数据存储技术 在Java中,数据库存取技术可分为如下几类: ①JDBC直接访问数据库 ②JDO技术 ③第三方O/R工具,如Hibernate, ibatis 等 JDBC是java访问数据库的基石,JDO, Hibernate等只是更好的封装了JDBC。几种常用数据库的J原创 2017-09-25 14:51:10 · 224 阅读 · 0 评论 -
MyEclipse 10破解方法及下载地址
破解地址:http://blog.csdn.net/xexiyong/article/details/8273440下载地址:http://xiazai.sogou.com/detail/34/16/-3776446113025264156.html?e=1970原创 2017-09-07 12:16:51 · 5116 阅读 · 0 评论 -
WebView的使用
//支持JS mWebView.getSettings().setJavaScriptEnabled(true); //支持缩放 mWebView.getSettings().setSupportZoom(true); mWebView.getSettings().setBuiltInZoomControls(true); //接口回调 mWebVi原创 2017-08-28 23:18:41 · 254 阅读 · 0 评论 -
指定textview中的某部分进行点击
CharSequence str="没有任何数据,请登录!";SpannableString spannableString1 = new SpannableString(str);spannableString1.setSpan(new ClickableSpan(){@Overridepublic void onClick(View widget) {Intent inte原创 2017-09-14 11:54:09 · 577 阅读 · 0 评论 -
倒计时
布局: xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:orientation="vertical" android:layout_height="match_parent" tools:context="com原创 2017-07-31 13:28:44 · 231 阅读 · 0 评论 -
反编译apk
文章出自的博客地址https://www.2cto.com/kf/201605/507065.html转载 2017-11-09 11:07:22 · 289 阅读 · 0 评论 -
Android科大语音输入和语音合成
第一步:导入libs包和jnilbs包 和第二步:初始化(=一定不能删除)SpeechUtility.createUtility(this, SpeechConstant.APPID + "=id");第三步:布局xml version="1.0" encoding="utf-8"?>xmlns:android="http://schemas.android.com/原创 2017-11-25 12:24:08 · 1092 阅读 · 0 评论 -
Android6.0系统简单介绍:棉花糖
主要更新模块电源管理App Link指纹识别应用权限管理(最重要)电源管理:App Standby(应用待机)检测:当设备不充电,且在这段时间内用户没有直接或者间接的启动退出:当应用被激活时,或者设备充电时,系统将应用移出此状态Doze检测:当设备不充电,且当设备静止且灭屏一段时间周期:平台尝试让系统处于休眠状态,原创 2017-12-20 15:33:59 · 1189 阅读 · 0 评论 -
imageview设置边框
对于imageview设置边框有几种方法,其中一种可以直接设置带边框的图片,但是一般做项目的时候获得都是服务器传过来的图片,此时将图片下载下来再设置边框,可以当然可以,但是维护太麻烦,此时可以用一种很简单的方式:自定义一个bg_border.xml:xml version="1.0" encoding="UTF-8"?>xmlns:android="http://schemas.andr原创 2017-11-23 11:09:30 · 3056 阅读 · 0 评论