
Android
Cedric_h
0.0
展开
-
Windows 下用BAT写一个简单的apk安装器
使用Android Studio 打包了apk文件,有时觉得给手机安装apk挺麻烦的,不妨试试在windows上编写BAT程序给手机安装apk。其实原理就是使用adb命令进行apk安装。@ECHO off@TITLE APK安装@COLOR E@REM 将adb.exe添加到PATH中ECHO 初始化…@SET PATH=%PATH%;%CD%\Adb@REM S...原创 2018-02-23 15:12:32 · 1495 阅读 · 0 评论 -
Android 桌面角标在各大品牌机型上的实现
由于角标在Android原生的系统中没有支持,所以各个Android手机厂商各自为政。正如很多资料所说,这一功能完全是效仿IOS,Android本不存在的,对于不支持的厂商如魅族、中兴、酷派,必须为他们不盲目跟风而点赞。做起适配来,真的很麻烦,要针对各个厂商逐个去写以及测试。目前做到支持小米、华为、三星、LG、VIVO、ZUK、HTC、NOVA等厂商的Andorid系统效果如下图所示特别说明一下小...原创 2017-04-13 19:12:30 · 9866 阅读 · 12 评论 -
Android 手机震动效果
先在AndroidManifest.xml中加入权限android:name="android.permission.VIBRATE"/>调用时,设定ms 数和上下文即可 public void shakePhone(int duration, Context mContext) { Vibrator mVibrator = (Vib原创 2017-04-10 10:37:28 · 791 阅读 · 0 评论 -
Android 高德基础地图定位、设置Marker、可视中心点实现步骤
一、基础地图部分1.获取APPKey在高德地图注册开发者账号,然后创建应用,使用SHA1和PackageName得到Key创建应用的链接:http://lbs.amap.com/创建应用 输入你的应用名称 选择你的应用类型 点击确定点击确定之后得到这么一个东西点击添加新key 输入完毕后再下方点击提交 获取SHA1值以转载 2017-02-15 18:09:30 · 12420 阅读 · 0 评论 -
Android/Java仿微信按时间长短分类显示时间戳
一般外部调用getTimePoint(Long time) 传入Long 型时间戳即可仿照微信的时间戳显示规则当天的显示无日期具体时间;昨天的显示为昨天;比昨天早且在过去一周内的,显示星期几;超过一周的时间,显示带有年月日的日期。原创 2017-01-15 03:57:40 · 2018 阅读 · 0 评论 -
Android 适用于QA页面的textView 伸缩动画特效
package xyz.qa;import android.graphics.Color;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.view.ViewGroup;import android.view....原创 2017-01-18 18:08:03 · 2097 阅读 · 1 评论 -
Android 自定义Notification消息通知样式并实现与Activity简单交互
先上效果图,重点在实现功能,界面比较随便1.通知栏中显示自定义的消息布局样式2点击消息回到Activity 界面,并点击 print 键6次3.在Activity中点击6次 print 键后,可简单这时通知栏中消息提示收到这6次的点击信号。再点击 ← 两次,点击 → 3次,然后回到Activity中4.回到Activity 中可看见,Activity 接收到信号, ←被点击 两次, → 被点击 ...原创 2017-02-17 17:52:49 · 2872 阅读 · 1 评论 -
轻巧的汉字转拼音库 TinyPinyin 在Android上的使用
最近发现一个相当轻巧,运行速度很快的汉字转拼音库——TinyPinyin,这个汉字转拼音库比上一篇讲述列表按照A-Z的规则排序的文章所使用的汉字转拼音库运行速度还要快10倍以上。主要特性生成的拼音不包含声调和方言,均为大写;支持自定义词典;执行效率很高(Pinyin4J 的 4~16 倍);很低的内存占用(不添加词典时小于 30KB)。主导入Gradlebuildscript { reposi...原创 2017-01-20 17:10:46 · 6486 阅读 · 0 评论 -
Android 侧边触摸式导航栏
先上动态效果图利用一个自定义View ,和其中的dispatchTouchEvent 拦截触摸事件实现SideBar.javapackage xyz.slideviewgettext;import android.content.Context;import android.graphics.Canvas;import android.graphics.Paint;import andr...原创 2017-02-07 17:30:04 · 1767 阅读 · 0 评论 -
Android内存优化(使用SparseArray和ArrayMap代替HashMap)
在Android开发时,我们使用的大部分都是Java的api,比如HashMap这个api,使用率非常高,但是对于Android这种对内存非常敏感的移动平台,很多时候使用一些java的api并不能达到更好的性能,相反反而更消耗内存,所以针对Android这种移动平台,也推出了更符合自己的api,比如SparseArray、ArrayMap用来代替HashMap在有些情况下能带来更好的性能提升。转载 2017-05-04 10:24:13 · 386 阅读 · 0 评论 -
Android MediaPlayer简单的实用以及续播的实现
MianActivity.javapackage xyz.video;import android.app.Activity;import android.content.res.AssetFileDescriptor;import android.content.res.AssetManager;import android.media.MediaPlayer;import android原创 2017-05-18 11:11:10 · 1906 阅读 · 0 评论 -
Could not find method google() for arguments [] on repository container.
Now you will probably get this error if you haven’t upgraded the gradle library in the gradle-wrapper.properties file. Could not find method google() for arguments [] on repository container.So, le转载 2018-02-01 17:53:50 · 2173 阅读 · 0 评论 -
Android VelocityTracker的简单研究
下面是Google对该类的描述:/** * Helper for tracking the velocity of touch events, for implementing * flinging and other such gestures. Use {@link #obtain} to retrieve a * new instance of the class when yo转载 2017-12-28 21:10:58 · 821 阅读 · 0 评论 -
Android的Scroller和VelocityTracker
一. Android的Scroller介绍 public class Scroller extends Object java.lang.Object android.widget.Scroller二. 概述 这个类封装了滚动操作。滚动的持续时间可以通过构造函数传递,并且可以指定滚动动作的持续的最长时间。经过这段时间,滚动会自动定位到最终位置,并且通过computeScro转载 2017-12-28 20:53:00 · 920 阅读 · 0 评论 -
Android ListView列表上下滑动趋势方向测算
private class JudgeScrollType implements AbsListView.OnScrollListener { private int trendY = 0; private int TotalTrendY = 0; private int lastTop = 0; private int top原创 2017-12-28 19:30:16 · 296 阅读 · 0 评论 -
MVP架构模式简单示例
MVP架构的概念MVP(Model-View-Presenter)是从经典的模式MVC演变而来的,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数据,View负责显示。作为一种新的模式,MVP与MVC有着一个重大的区别:在MVP中View并不直接使用Model,它们之间的通信是通过Presenter (MVC中的Controller)来进行的,所有原创 2018-01-02 12:22:34 · 824 阅读 · 0 评论 -
Android 获取手机厂商、系统版本等信息
在开发中 我们有时候会需要获取当前手机的系统版本来进行判断,或者需要获取一些当前手机的硬件信息。android.os.Build类中。包括了这样的一些信息。我们可以直接调用 而不需要添加任何的权限和方法。android.os.Build.BOARD:获取设备基板名称android.os.Build.BOOTLOADER:获取设备引导程序版本号android.os.Build.BRAND:获取设备转载 2017-06-15 10:42:08 · 7257 阅读 · 0 评论 -
Android WebView 基本用法
MainActivity.javapublic class MainActivity extends AppCompatActivity { private WebView wb; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstance原创 2017-06-30 13:46:08 · 570 阅读 · 0 评论 -
Android 判断当前是否在WIFI网络下
private static boolean isWifi(Context mContext) { ConnectivityManager connectivityManager = (ConnectivityManager) mContext .getSystemService(Context.CONNECTIVITY_SERVICE); Net原创 2017-05-31 17:52:50 · 3600 阅读 · 0 评论 -
理解Android Activity的启动模式:standard, singleTop, singleTask 以及 singleInstance
英文原文:Understand Android Activity's launchMode: standard, singleTop, singleTask and singleInstance 另外关于启动模式还有篇很好的文章:Android中Activity四种启动模式和taskAffinity属性详解 Activity是安卓上最聪明的设计之一,优秀的内存管理让多任务完翻译 2017-02-17 11:49:06 · 1710 阅读 · 0 评论 -
Android 字体高度的研究
Android自定义View绘制的时候,会有很多情况下要与字体打交道,涉及到字体宽度、高度的时候要特别注意一下几个概念,见图: baseLine:一行文字的底线。Ascent: 字符顶部到baseLine的距离。Descent: 字符底部到baseLine的距离。Leading: 字符行间距。 Java代码 publi转载 2017-02-08 14:47:09 · 1594 阅读 · 1 评论 -
Android/Java汉字转拼音类及按A-Z排序方法
在Android / java 开发中有时需要对数据进行根据拼音[A-Z]的规则进行排序所以需要先将汉字转为拼音然后再进行排序//汉字转拼音类package xyz.sort;import java.io.UnsupportedEncodingException;import java.util.Iterator;import java.util.LinkedHashMap;import ...原创 2017-01-16 10:34:50 · 3226 阅读 · 0 评论 -
Android线程相关编程
定时每秒递增,向handler发送消息以刷新UI注意:Handler所需导入的相关包为android.os.Handler;public class MainActivity extends AppCompatActivity { private Button button1, button2, button3; private TextView Tx1;原创 2016-07-18 02:55:34 · 311 阅读 · 0 评论 -
Android 利用Intent 两界面互相传值
大致思路 * A-->B,在B界面中做完某些操作以后,得到结果,返回给A,让A根据返回的数据,更新自己的界面 1.A-->B,startActivityForResult(请求码,Intent);Intent用来启动B,传值给B 2.在B中做完某些操作之后,得到结果:setResult(返回码,Intent);Intent用来传值给A 3.A得到数据,让A根据原创 2016-09-22 12:25:11 · 3097 阅读 · 0 评论 -
Android 利用第三方库实现下拉刷新 -android-Ultra-Pull-To-Refresh
在module的gradle中加入compile 'com.chanven.lib:cptr:1.0.0'在xml布局文件中使用布局进行包裹在Activity.java中 mPtrFrame=(PtrClassicFrameLayout) findViewById(R.id.chanven);原创 2016-09-22 15:18:58 · 3414 阅读 · 0 评论 -
Android 不连接蓝牙设备获取信号强度
要拿到蓝牙信号指示值 rssi 分为两个步骤。1.在oncreate方法里面增加 注册扫描广播 public void onCreate(Bundle savedInstanceState) { // 注册开始发现广播 //当设备扫描得到蓝牙设备时触发,如果需要在连接设备后触发可使用ACTION_ACL_CONNECTED原创 2016-03-01 11:15:01 · 4581 阅读 · 1 评论 -
Android SwipeLayout实现界面滑动布局
github地址https://github.com/daimajia/AndroidSwipeLayout/通过对daimajia 的SwipeLayout 中Library的修改和封装,特意多加了一个滑动监听器,让layout在滑动时对外传出相对屏幕顶部和左侧的滑动距离,方便制作其他动态UI封装好的SwipeLayout.javaimport android.content.Context...原创 2016-09-22 16:49:02 · 5851 阅读 · 0 评论 -
Android 按钮事件两种经典写法
集中处理public class MainActivity extends AppCompatActivity { private MyOnClickListener myOnClickListener; private Button button1,button2,button3; @Override protected void onCreate(Bun原创 2016-07-12 01:37:08 · 415 阅读 · 0 评论 -
Android开发中定时与延时的运用
private void unceasingDiscovery(){ final Timer mTimer=new Timer(); TimerTask mTimerTask=new TimerTask() { @Override public void run() { // TODO 自动生成的方法存根 if(mBluetoothAdapt原创 2016-03-01 11:51:29 · 455 阅读 · 0 评论 -
基于Eclipse的Android开发环境搭建及初步使用教程
一、AndroidSDK(Android Software Development Kit 安卓软件开发工具包)的安装 在某个磁盘内创建一个文件夹,并将刚才下载下来的SDK和SDK manager.exe的两个文件移动到其中. 在系统属性中的环境变量更改系统变量path.在其后加上移动后SDK文件夹中tools文件夹的地址.其后加上bulid-tools文件夹的原创 2016-02-01 06:30:52 · 4350 阅读 · 0 评论 -
Android Retrofit框架的简单应用
Retrofit:Square提供的开源产品,为Android平台的应用提供一个类型安全的REST客户端[html] view plain copyhttps://github.com/square/retrofit RxAndroid:响应式编程框架RxJava针对Android平台的扩展。原创 2016-09-07 02:03:22 · 567 阅读 · 0 评论 -
Android Volley完全解析(二),使用Volley加载网络图片
在上一篇文章中,我们了解了Volley到底是什么,以及它的基本用法。本篇文章中我们即将学习关于Volley更加高级的用法,如何你还没有看过我的上一篇文章的话,建议先去阅读Android Volley完全解析(一),初识Volley的基本用法。在上篇文章中有提到过,Volley是将AsyncHttpClient和Universal-Image-Loader的优点集成于一身的一个框架。我们都知转载 2016-09-29 18:20:59 · 87 阅读 · 0 评论 -
Android 获取EditText焦点后自动弹出软键盘
有时候我们跳转到某些页面时,希望能马上获取特定TextView的焦点并弹出软键盘 editText.setFocusable(true); editText.requestFocus(); InputMethodManager imm = (InputMethodManager)context.getSystemService(Context.INPUT_METHOD_SERVICE);...原创 2017-01-15 04:37:07 · 2205 阅读 · 0 评论 -
Android 禁止点击输入法的回车键并弹出提示
//点击回车事件 mDescriContent.setOnEditorActionListener(new TextView.OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { if(event.getK原创 2017-01-15 04:33:27 · 1649 阅读 · 0 评论 -
Android 限制只调用系统相机 不弹出应用选择器
Intent i = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);//限制只调用系统相机final Intent intent_camera = ((Activity)getContext()).getPackageManager() .getLaunchIntentForPackage("com.android.camera");原创 2017-01-15 04:23:00 · 1912 阅读 · 0 评论 -
Android 回调接口
/**定义**/private OnClickLoadMoreListener loadMoreListener;public void setOnClickLoadMoreHotThreadItemListener(OnClickLoadMoreListener l){ this.loadMoreListener=l;}public interface OnClickLoadMo原创 2017-01-15 04:17:38 · 571 阅读 · 0 评论 -
Android 图片渐变切换效果
package com.example.xyz.colorchange;import android.graphics.drawable.Drawable;import android.graphics.drawable.TransitionDrawable;import android.support.v7.app.AppCompatActivity;import android.o...原创 2017-01-03 11:23:56 · 6363 阅读 · 0 评论 -
Android 自定义简单的滑动效果switch开关
package com.circle.ctrls;import android.content.Context;import android.graphics.drawable.Drawable;import android.graphics.drawable.TransitionDrawable;import android.util.AttributeSet;import andr原创 2017-01-03 11:40:24 · 2366 阅读 · 1 评论 -
在ScrollView中嵌入GridView
public class MyGridView extends GridView { public MyGridView(android.content.Context context, android.util.AttributeSet attrs) { super(context, attrs); }原创 2016-10-31 15:57:00 · 368 阅读 · 0 评论 -
Android Volley完全解析(一),初识Volley的基本用法
1. Volley简介我们平时在开发Android应用的时候不可避免地都需要用到网络技术,而多数情况下应用程序都会使用HTTP协议来发送和接收网络数据。Android系统中主要提供了两种方式来进行HTTP通信,HttpURLConnection和HttpClient,几乎在任何项目的代码中我们都能看到这两个类的身影,使用率非常高。不过HttpURLConne转载 2016-09-29 18:14:39 · 283 阅读 · 0 评论