AndroidNote
柠檬李先生
JavaScript 是世界上最流行的脚本语言!
展开
-
优雅编码框架简介一
RetrolambdaLambda表达式是一种可用于创建委托或表达式目录树类型的匿名函数。AndroidStudio配置:build.gradle(Project)buildscript { repositories { mavenCentral() } dependencies { classpath 'me.原创 2016-11-14 13:50:37 · 789 阅读 · 0 评论 -
短信拦截再总结
主要知识点:接收短信,发送短信,隐藏图标,自启动1、AndroidManifest.xml package="com.leo.smsinterceptor" android:versionCode="1" android:versionName="1.0" > android:minSdkVersion="8"原创 2015-07-27 18:06:43 · 821 阅读 · 0 评论 -
Android蓝牙BLE开发步骤
步骤:1、开始准备(包括:添加权限,判断支持,打开蓝牙)2、扫描设备(扫描BLE设备)3、建立连接(能过地址,并建立GATT连接)4、列举服务(列举BLE设备开启了哪些服务,并找出相关特征)5、开始通信(读写数据,通知等)6、关闭连接1、添加权限和特征 android:name="an原创 2015-07-13 10:08:56 · 5237 阅读 · 0 评论 -
Android之BLE编程
写在前面:作为一个程序员,各种苦逼啊,作为一个Android程序员,苦逼死了。Android手机可以使用WIFI、蓝牙和数据网络进行网络通信,那作为Android程序员,就必须得会这些了。如果不会,都不好意思给别人说你是21世纪的屌丝程序员。通过WIFI和数据网络通信的Socket编程(基于IP的TCP、UDP、HTTP通信 )相信大家都是驾轻就熟了。而现阶段,随着物联网的发展和蓝牙的原创 2015-07-26 18:31:06 · 1977 阅读 · 2 评论 -
Android USB编程
一、什么是USBUSB就是通用串行总线(Universal Serial Bus)的缩写,用于规范主从通信。USB接口支持设备的即插即用和热插拔功能。与USB有关的OTG既是On-The-Go,主要用于各种不同的设备或移动设备件间的链接和数据交换。二、Android的USB相关API包:android.hardware.usb类:UsbManager/UsbDevice原创 2015-05-29 10:07:57 · 2041 阅读 · 0 评论 -
音乐律动Demo
本程序为用Visualizer和AudioRecord实现的音乐律动Demo,共享给大家。同时具有基本音乐播放器的雏形,可以搜索本机所有音乐,并可以切换歌曲。歌曲使用SimpleAdapter绑定在ListView上。可以随意切换歌曲。主Activitypublic class YymdActivity extends Activity { /** * 主Activity原创 2015-01-17 15:21:50 · 2452 阅读 · 5 评论 -
41音乐频谱
/*使用方法:在Visualizer的获取到fft数据时调用本View的updateVisualizer(byte[] bytes)把fft传过来*/package com.gh.lighting.widget.music;import android.content.Context;import android.graphics.Canvas;import android原创 2015-02-03 14:13:14 · 601 阅读 · 0 评论 -
40分享功能
/** * 分享到朋友圈/微博/空间/短信等等 * @param context * @param name * @param title * @param content * @param path */ public static void share(Context context, String name, String title,原创 2015-02-03 14:08:47 · 351 阅读 · 0 评论 -
38用传感器
一、获取本机所有传感器SensorManager manager = (SensorManager) this.getSystemService(Context.SENSOR_SERVICE);List list = manager.getSensorList(Sensor.TYPE_ALL);二、传感器的使用1、SensorManager manager = (SensorM原创 2014-12-26 09:49:31 · 499 阅读 · 0 评论 -
39动画效果
Animation一、两模四类一集alpha/AlphaAnimationscale/ScaleAnimationtranslate/TranslateAnimationrotate/RotateAnimationAnimationSet二、XMLres目录anim文件夹a.xmlhttp://schemas.android.com/apk/res/an原创 2015-01-30 10:59:53 · 460 阅读 · 0 评论 -
Android数据存储小结
巧妇难为无米之催,数据是一个程序的血肉,可是Android的数据存在哪里呢?Android提供了四种方法对数据进行存储:SQLite/ContentProvider/File/SharedPreferences因为对数据的基本操作就是增删改查,那就从这四个方面对这四种方式进行总结:一、SQLite用到的类:SQLiteOpenHelper/SQLiteDatabase/Curs原创 2014-12-22 14:21:08 · 746 阅读 · 0 评论 -
35蓝牙通信
为了学习和测试蓝牙的通信机制,我是把服务器端和客户端分开为两个APP来写的。一、首先是服务器端:1、AndroidManifest.xml添加权限:2、布局文件<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="原创 2014-12-04 14:11:01 · 1162 阅读 · 1 评论 -
9四种布局
布局setContentView(R.layout.*);LinearLayoutFrameLayoutTableLayout(TableRow)RelativeLayout代码助手:ALT+/原创 2014-09-22 09:50:11 · 515 阅读 · 0 评论 -
37其他资源
使用ImageSpan对象在TextView中显示图像Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.icon);ImageSpan imageSpan = new ImageSpan(this, bitmap);SpannableString spannableString = new S原创 2014-11-27 23:03:40 · 496 阅读 · 0 评论 -
36存为图像
View view = getLayoutInflater().inflate(R.layout.main, null);view.setDrawingCacheEnabled(true);view.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED), MeasureSpec.makeMeasureSpec(0,原创 2014-11-27 16:54:45 · 401 阅读 · 0 评论 -
Android视频播放1
为何那么决绝?不给我喘气的机会。突然就想搞一下视频播放,就查了一下资料。网上大牛真多,都讲的很详细。我就纵览细品了一下大牛们的代码。然后就随心写了一个综合的小例子。其中涉及到:视频播放,文件选择等。用的重点内容:MediaPlayer SurfaceView SurfaceHolder VideoView 除此之外还有最基本的:Activity/Intent/Toast/Dialog/Me原创 2014-11-21 16:37:30 · 1040 阅读 · 0 评论 -
Bitmap转灰度字节数组byte[]
工作中遇到图片转灰度数组的需要,经过研究和大神的指导,最终得到如下两个方法,可以实现位图转灰度数组简单的位图转灰度数组就是:得到位图中的每个像素点,然后根据像素点得到RGB值,最后对RGB值,根据灰度算法得到灰度值即可/*如一张480*800的图片,最终得到一个byte[480*800/2]的灰度数组,因为函数把每两个相邻高的像素灰度转化为一个灰度*/private byt原创 2015-07-07 16:52:59 · 5139 阅读 · 0 评论 -
路由器一键桥接Android实现
开始之前,首先说一下什么叫一键桥接,所谓一键桥接,就是点击一下,就可以对所连接的路由器进行网络中继设置,以实现路由器可以通过已有的无线路由器进行网络访问。那么实现这个功能有几种方法呢?可以说有很多种,只要可以和路由网关进行通信就行。一般可以选择,Socket通信,Http通信。对于Http通信可以选择HttpClient, HttpURLConnection等。在本文中,为了实现的方便,我原创 2015-07-07 17:14:00 · 2693 阅读 · 1 评论 -
Git学习笔记
Git是世界上最先进的分布式版本控制系统;VCS Version Control System 版本控制系统 CVS SVN;Linux Linus 两周 Git github.com coding.com集中式版本控制系统 分布式版本控制系统一、安装$ git //查看是否已经安装了git 也可使用 git —version$ sudo apt-get insta原创 2016-07-07 11:39:44 · 307 阅读 · 0 评论 -
Android共享Library到JCenter
新建项目没什么要求,就是建立一个项目,用来测试库 新建Android库没什么要求,新建一个Model,选择Android Library 修改build.gradle文件如图所示添加两部分内容ext { PUBLISH_GROUP_ID = 'cn.weidongjian.android' PUBLISH_ARTIFACT_ID原创 2016-08-09 18:10:29 · 371 阅读 · 0 评论 -
手机连上了HID怎么让APP进行SPP通信
传统的蓝牙BluetoothSocket代码:/*try { //去连接通道 tmp = mBluetoothDevice.createRfcommSocketToServiceRecord(BluetoothUUID.UUID_HID);} catch (IOException e) { e.printStackTrace(); System.out.p原创 2016-04-21 15:26:57 · 3320 阅读 · 0 评论 -
你知道Application吗?
一、Application是什么Application翻译成汉语就是“应用”的意思,可以简单的把它理解为应用程序,也就是你的APP;它是和四大组件平级的Android系统组件。每个应用程序只有一个Application,它算是整个应用程序的入口点。相当于main函数(实际上不是的)。二、Application有什么用1、共享数据:在任何组件中都可以通过getApplicatio原创 2016-04-21 14:38:01 · 1644 阅读 · 0 评论 -
42数据库类
一、概述数据库操作是Android中数据存储的一种方式,相对来说也是非常实用。Android系统的Libraries层中内置了SQLite轻量级数据库。SQLite是跨平台跨语言的,支持Android/iOS/PHP等等。对于数据库的操作常用的就是CRUD,也即是增删改查。二、主要APISQLiteOpenHelperSQLiteDatabase三、主要使用方式exec原创 2016-04-20 09:20:24 · 451 阅读 · 0 评论 -
杀不死的Service
项目需要,这两天研究了一下Service长驻后台的方法与实现。网上此类文章很多,本文只是一个总结。大概有以下几种:1、onStartCommand()中return START_STICK2、onStartCommand()中startForeground()3、onDeStroy()中startService()4、注册BroadcastReceiver监听系统广播(如T原创 2015-12-23 13:38:03 · 1216 阅读 · 0 评论 -
Mars视频随手笔记
Android All一、Android入门第一讲:1、Google 移动互联网 Android apk2、Android系统架构:LinuxKernel/LibrariesAndAndroidRuntime/ApplicationFramework/Applications第二讲:1、开发环境搭建:JDK/Eclipse/ADT/AndroidSDK(path:\原创 2014-09-20 15:34:37 · 667 阅读 · 0 评论 -
Android Material Design之Toolbar与Palette实践
转载请注明出处:http://blog.csdn.net/bbld_/article/details/41439715 【Rocko's bog】前言我们都知道Marterial Design是Google推出的全新UI设计规范,如果对其不太了解的可以看下:Material design非官方中文指导手册 ,或者我的前面几篇Material Design的译文,相比转载 2015-10-23 20:26:36 · 411 阅读 · 0 评论 -
Android Studio Shortcuts
Android Studio来到了人间,从此程序猿和攻城狮都过上了幸福的生活Ctrl + N //在编辑器里打开任何类Ctrl + 空格 //自动补全提示Ctrl + Shift + 空格 //提示Ctrl + Alt + 空格 //提示Alt + F7 //全局查找变量方法等的使用Ctrl + Q //查看文档Ctrl + B/Click //调到定义处Ctrl + F12 /原创 2015-10-24 17:46:31 · 623 阅读 · 0 评论 -
你的程序会崩溃吗?
程序崩溃是最让人头疼的事情。当用户使用时,如果是第一次运行就崩溃,那此程序一定没戏了。即使是偶尔崩溃也会让用户心里很不爽。其实这不能全怪我们程序员。有些问题,我们也无法预知啊。但,作为一名优秀的程序员,我们还是拦过责任来,就是我们的问题。我处理就是了。 处理思路:捕捉崩溃异常,重启并报告异常。那么现在就面临三个问题。一个是怎样捕捉Uncaught Exception,一个是重启并报原创 2015-09-19 17:40:51 · 747 阅读 · 1 评论 -
Android事件小结
1、基本事件ACTION_DOWNACTION_MOVEACTION_UP和Event SourceEventEvent Listener2、事件类型基于监听基于回调3、三个函数public boolean dispatchTouchEvent(MotionEvent ev)public boolean onInterceptTouchE原创 2015-10-20 09:40:57 · 352 阅读 · 0 评论 -
电话操作-JSON解析-图片下载工具类
package com.*.util;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.lang.reflect.InvocationTargetException原创 2015-10-17 10:15:02 · 777 阅读 · 0 评论 -
Bitmap工具类
对Bitmap的一些操作,包括旋转、压缩、截屏、保存等等。public final class BitmapOperator {public static byte[] convertBitmap2GrayArray(Bitmap img) {byte[] theBytes = null;/* 得到位图的宽高 */int width = img.getWidth();原创 2015-09-27 16:31:02 · 483 阅读 · 0 评论 -
Android监听照相广播
也许很多时候,你想实现一个功能,那就是,当用手机拍照时,你的程序可以知道已经拍照完成,并取得刚拍摄的照片。这个思路很简单,就是新建一个广播接收器,当手机进行拍照的时候,系统会发出一个广播,你接受到此广播,再通过intent传来的数据进行解析,以取得图片的位置。因为所有拍摄的照片都会在系统的一个content provider里生成其对应的数据库信息,所以要用到ContentResolver进行解析原创 2015-08-24 09:41:18 · 3994 阅读 · 1 评论 -
Bitmap的一些操作
/** * 旋转图片 * * @param bmp * @param degrees * @return */ public Bitmap rotateIMG(Bitmap bmp, float degrees) { Bitmap bitmap = null; Matrix原创 2015-07-07 17:04:40 · 410 阅读 · 0 评论 -
35十包宽高
ApplicationFramework层ActivityManagerPackageManagerWindowManagerTelphonyManagerContentProviderResourceManagerViewSystemLocationManagerNotificationManagerXMPPService获取LinearLay原创 2014-11-27 16:37:31 · 462 阅读 · 0 评论 -
34蓝牙操作
基本的蓝牙操作:包括:打开,关闭,搜索,配对原创 2014-11-20 16:22:22 · 577 阅读 · 0 评论 -
10手柄服务
Handler(控制线程传递消息)Handler handler = new Handler();Runnable updateThread = new Runnable(){ public void run(){ handler.postDelayed(updateThread,3000); }};handler.post(updateThread);h原创 2014-09-21 11:35:30 · 534 阅读 · 0 评论 -
11小数据库
SQLiteDatabase操作SQLiteOpenHelperSQLit支持:NULL/INTEGER/REAL/TEXT/BLOBgetReadableDatabase()getWritableDatabase()onCreate()onOpen()onUpgrade()close()//建库建表Helper h = new Helper(*Ac原创 2014-09-21 11:32:09 · 418 阅读 · 0 评论 -
12文件下载
1、DDMS2、文件下载a、创建一个HttpURLConnection对象HttpURLConnection urlConn = (HttpURLConnection)url.openConnection();b、获得一个InputStream对象urlConn.getInputStream()c、访问网络的权限android.permission.INTERN原创 2014-09-21 11:32:25 · 498 阅读 · 0 评论 -
14网络编程
Socket编程TCP/UDP-IP客户端:SocketOutputStreamInputStream服务器端:ServerSocketOutputStreamInputStream//TCPserverServerThread serverThread = new ServerThread();serverThread.start();原创 2014-09-21 11:30:32 · 595 阅读 · 0 评论 -
15短信电话
拨号器、短信发送器、浏览器拨号器:Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:"+"15824835103"));短信发送器:String message = "信息";SmsManager manager = SmsManager.getDefault();if(message.l原创 2014-09-21 11:27:06 · 438 阅读 · 0 评论