自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 资源 (4)
  • 收藏
  • 关注

原创 如何在 Android Studio 使用 Genymotion 模拟器

如何在 Android Studio 使用 Genymotion 模拟器如何使用 Genymotion 模拟器?许久不用,习惯了真机开发,现在找找资源重新用下 堪称最快的模拟器——Genymotion。下载地址点击下载注册账号注册时候需要邮箱验证,然后设置好密码后,自己登录验证下。确认可以登录。安装这时候,下载好了,就可以安装了。一路绿灯下去,存放地址,可以自定义,不影响的。VirtualBox 也需要一起安装上。接下去,安装好了。登录选择个人开发New 一个设备(genymot

2020-12-24 17:13:54 2122 2

原创 Unity3d接入安卓aar详细过程

Unity3d接入安卓aar详细过程unity 在开发过程中,往往需要安卓端暴漏一些原生的接口,比如权限,广播,获取一些设备信息等接口。这时候就需要用到各自的知识,但是相对跨行,很多门外unity 程序员 或者 安卓程序员并不会搭建环境,也不会生成aar 供unity 调用,现总结如下,这些将教会你从安卓端生成aar 到unity 运行,最终安卓端与unity 相互配合调用。内容点搭建环境(安卓端生成aar,unity 建立plugin 并放入aar 和 manifest 并且可以安卓平台打包生成a

2020-12-22 16:16:50 7612 4

原创 安卓动态获取权限看这一篇就够了

安卓动态获取权限看这一篇就够了为大家带来一篇安卓6.0动态获取权限的内容。看完后,你就能够掌握安卓动态获取权限的相关知识。而不是在面试官面前说我会用Rxperssion 等一些类库实现。为什么这样说,因为在之前我也是网上找找类库用用就行了。而如今工作中碰到发现还是需要自己去原生层处理。为何需要主动获取权限申请权限的几个步骤用户选择了 拒绝权限 并且勾选了不再提示,如何代码层判断并给出提示...

2020-12-19 12:56:46 1234 2

原创 友盟QQ分享不显示缩略图

友盟QQ分享不显示缩略图分享本地图片分享在线图片分享本地图片背景:后台返回给我图片的byte[]数组,起初之前都是分享在线图片用的下面这个方法。// 分享在线 图片oks.setImageUrl(shareImgUrl);然后简单找了下 OnekeyShare 的本地图片分享方法。看到了有个方法// 分享本地 图片 传bitmappublic void setImageData(Bitmap iamgeData) { if(iamgeData != null) { params.

2020-11-03 10:02:19 586

原创 安卓使用webview中与JS相互传递数据

安卓在使用webview过程中,常常要与js间进行通信。这次我做了简单的总结,如下。一、js传递数据给安卓端:主activity,public class MainActivity extends AppCompatActivity { private WebView mWebView; private String url = "http://wechat-dev.cb3dp.c...

2018-03-09 11:27:12 7527

原创 android things 树莓派 时间修正问题

利用树莓派进行at(android things)开发过程中,时间修正成正确网络时间,并且断电后能够自动更新

2018-03-05 10:03:42 780 3

原创 Butter Knife(黄油刀)的基本使用

出自:github,jake大神。附录上github地址https://github.com/JakeWharton/butterknife用途的话:绑定视图控件而作用的。使用准备:使用android studio添加依赖,File->Project Structure->Dependencies->Library dependency 搜索butterknife即可 

2017-05-23 14:23:23 857

原创 Java_hashCode()以及equals()方法浅谈

我们都知道,对于同一个对象类型的两个引用判断是否相等。一般采取两种方法判断。一种是用a==b?这种方式判断出来的是对象在堆内存中的地址,另外一种就是调用类的equals这个方法,因为所有自定义的类都是Object类的子类,所以没有复写父类的方法,默认就会调用Object中的equals方法。但是Object中的方法,看了API后知道,也是在判断是否两个对象的堆内存地址相同。假如现在一个学生类,两个

2017-02-15 09:54:00 281

原创 根据手机sim卡获取运营商信息

有的时候我们去获取手机运营商,显示给用户是移动,联通还是电信。android提供这套接口,可以拿到它。1 核心代码,拿到电话管理者对象,从中去获取用户id,根据id的开头曲区分运营商信息public class MainActivity extends Activity { private TelephonyManager telephonyManager; @Override pr

2016-08-31 14:59:31 2657

原创 (java)eclipse下main函数args赋值

我们平时可以看到java代码的main函数,有个String args[]参数这个args就是一个字符串数组,当然我们可以通过手段给它赋初值,下面我们找到运行下面的这个这里写的字符串不需要引号“ ”,另外,下一个字符串用空格标记,然后再main方法中就可以获取args[0],args[1]..的相应值,如果对应位置没有值,则会报出数组越界异常java.lang.

2016-08-11 16:40:10 1203

原创 安卓之design系列(二)

下面我来看看下大神博客中的demo没错,这就是navigationview的效果,下面我们来看一下怎么去实现它。首先使用navigationview需要外部嵌套一个drawerlayout,首先我们要有个这样的概念,就是我们的这个左边侧滑界面是drawerlayout里面的一部分,也就是说我们的drawerlayout外如果有内容,是会显示的。drawerlayout里面分为两个部

2016-07-05 21:16:38 425

原创 安卓之design系列(一)

如果你经常看一些新闻类的app软件你会发现,基本上都是导航栏加上viewPager的效果,如下: 下面我们来写这么一个简单的demo,基于design包中的tablayout 和viewpager来完成布局文件代码 ,上面是tablayout控件,下面是viewpager<LinearLayout xmlns:android="http://schemas.android.com/

2016-07-05 17:52:06 366

原创 安卓之相机Camera(二)

之前说过的,调用手机摄像头拍照除了调用系统的照相之外,也可以自己去自定义我们的相机软件。这里开始看官方api觉得云里雾里的,现在看懂了,恍然大悟,其实官方都已经给我们罗列了核心的方法和思路。1 首先,因为是自定义的,所以需要给我们的manifest文件加上一些必要的权限。 2 我们来定义这样的一个视图,用来显示的,这个类中我们通过外部去传入camera对象,然

2016-06-16 13:12:58 313

原创 安卓之相机Camera

这两天看了下官方关于camera的api,然后了解到可以通过调用系统的Camera和自定义相机两种方式。现在我来介绍简单的,也是菜鸟选手轻松入门的这种。通过调用自带的相机拍照并获取图片,设定到imageview上。通过官方API的介绍,调用系统的相机,我们需要下面几个步骤。1 传入对应的intent的Action, ACTION_IMAGE_CAPTURE2 设定图片存放的位置,也默认

2016-06-14 18:17:10 375

原创 安卓之MediaRecorder(多媒体录制)

在安卓API中有个MediaRecorder类,MediaRecorder中给我们提供方法可以录制音频和视频文件。我们可以通过下面这个流程来熟悉具体的几个方法并且使用的位置和作用。通过官方提供的api以及上面的这个模型图,我们可以知道怎么去使用它。首先对这个Recorder对象进行一些初始化操作,如上面的(录制音频)setAudioSourse,setOutputFormat,setA

2016-06-13 10:08:54 538

原创 安卓初识基本控件_Dialog对话框

先说一下之前用的Dialog,通过showDialog(int Id )这个方法,唤醒onCreateDialog这个方法,然后在这个方法里面对Dialog进行一些设置,最后返回这个Dialog对象就行了。注意,这里不需要你去show(),直接会帮你show。但是这个在后面的基本上不用了。下面说一个子类AlertDialog的使用吧。1 简单的使用。注释都写在代码里面吧AlertDia

2016-06-02 21:45:44 800

原创 Android Studio-live Templates

当我们在使用Android Studio工作时,有没有发现有的语句是输入开头比如Toast然后按下Tab健或者回车键就一下子整串代码就出来了。这里可以看到,下面那个就是live Templates(可活动的模板)里面设定好的,因为这个大家都比较常用,所以系统帮我默认就封装好了。当我这时就很快速的输出该语法。然后后面每个之间按下Tab键就可以切换输入的光标位置。下面开始介绍如何实

2016-06-02 16:24:07 434

转载 安卓中AlarmManager结合广播的使用

安卓中AlarmManager可以做到提醒的作用,在特定的时刻为我们广播一个特定的Intent。可以通过设置,然后传递给广播接收器,响应一些事件。首先我们写好一个静态广播,这里为什么不适用动态注册广播的方式,是因为,这样当我们的activity宿主关闭后,广播接收器不会关闭的作用。下面是实现方法: final AlarmManager alarmManager=(AlarmMana

2016-06-01 11:21:01 2681

原创 安卓初识基本控件_Gallery

gallery(画廊)用来展示图片集合,将图片放入数据源中,传到适配器里。然后绑定视图。xml文件:(width写成wrap_content的话,每次只显示一张图片)<Gallery android:id="@+id/gallery" android:layout_width="match_parent" android:layout_he

2016-05-30 10:21:11 303 1

原创 安卓初识基本控件_AutoCompleteTextView

大家在使用百度搜索框的时候,会发现好像都有联想,类似这种安卓中也提供这样的控件,AutoCompleteTextViewxml布局:<AutoCompleteTextView android:id="@+id/auto" android:layout_width="match_parent" android:layout_heig

2016-05-29 22:31:43 254

原创 安卓初识基本控件_Spinner

今天在看spinner相关的代码时候发现,当我们在清单文件想兼容2.3,会发现spinner的样式和平常不一样。   <uses-sdk android:minSdkVersion="10" />如果是我们平常写的,都是这种 <uses-sdk android:minSdkVersion="10" android:t

2016-05-29 22:02:17 432

原创 安卓初识基本控件_RadioGroup&RadioButton

单选框,将几个包含在radiogroup组中,每次只能一个被选中,默认布局radiogroup的方向是垂直的。<RadioGroup android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/rg" androi

2016-05-29 14:00:10 394

原创 安卓初识基础控件_CheckBox

很多人很奇怪,这么简单的控件,还需要写博客么?其实,我是想让自己沉浸在编码的过程中,从基础做好。虽然后面确实很多的三方,很多的框架,使得我们只要看的懂,拿过来用就好了,但是google开发这些源生的控件其实力量还是很强大的,别人封装好的,也是在他对控件理解很深刻的情况下写出来的。CheckBox(复选框)有两种状态,选中和未选中,就是checked(true or false),可以通

2016-05-29 13:17:00 278

原创 安卓初识基本控件_ToggleButton

无意中看到这么一个控件----ToggleButton,他又两个状态选中(checked)和未选中状态。样式和button差不多,未选中时默认是选中状态是,其实感觉和checkbox的效果差不多,我们可以看到选中与否button的背景是不一样的。开始以为是专门的效果,后来才发现其实就改变了背景。这里我们可以设置背景,以及选中和未选中状态的文字(不设置的话和上面一样是默认的)。 btn.set

2016-05-28 13:59:58 362

转载 如何自定义RatingBar

对于系统定义的RatingBar往往不符合你的需求,所以通常我们可以通过自定义来完成这个控件的二次变形。准备:1 两张图片 一张满星状态的,一张空星状态的。然后我们就可以动手了,主要就是写个style @drawable/room_rating_bar 16dip 16dip 然后这里的room_rating_bar是异步xml文件,放在drawable下,主

2016-05-27 22:11:05 281

转载 Andriod XML Editor cannot process this input

刚才继承系统的style后,就是莫名的特别想看下系统的xml文件,也算是验证下自己的想法是否正确吧。但是一直打不开这里的xml文件后来查了下,需要eclipse上设置下preference->general->edit->file association->file types->*.xml->remove->ok

2016-05-27 21:56:34 318

原创 安卓初识基本控件_RatingBar

常见的评价有个星星的进度条,这就是RatingBar在布局文件写RatingBar时,width不能设置match_parent,否则不是默认的五颗星星的样式。下面介绍一些属性方法: rbar.setMax(100);//设置没多大用处 rbar.setNumStars(5);//设置星型数量(默认的就是5个) rbar.setStepSize(0.5F);//设置步长(

2016-05-27 21:53:42 308

原创 安卓初识基本控件_SeekBar

可以滑动的进度条,和ProgressBar一样可以设置它的max,progress...另外可以设置android:thumb="@drawable/ic_launcher"属性,就是滑动的图像。另外这里滑动对应一个监听的方法mSeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {

2016-05-27 11:32:30 290

原创 安卓初识基本控件_ProgressBar

一般下载时候会用到进度条控件,在设置这种进度条的时候,要注意两点,一点是布局文件的宽度不能写成wrap-content。其次就是它的style,需要设置style="?android:attr/progressBarStyleHorizontal",否则会是默认的圆圈的样式。可以设置进度条的最大值,当前值,其次的值,当然这里是动态设置的,可以布局写死 pbar.setMa

2016-05-27 11:25:42 238

原创 初识安卓基本控件_TimePicker

下面我们来看一下这个控件吧。这里初始化设置时间。TimePicker time = (TimePicker) findViewById(R.id.time); time.setCurrentHour(8); time.setCurrentMinute(12);可以设置是否是24时制time.setIs24HourView(true);设置监听time.setOnTime

2016-05-27 10:50:45 292

原创 安卓初识控件_DatePicker

我们来看一下,他的样式吧。可以设置监听,可以初始化开始的时间,当然也可以通过Calendar类获取当前时间显示上去。另外当日期改编后,会触发一个监听事件。DatePicker date = (DatePicker) findViewById(R.id.date); OnDateChangedListener listener = new OnDateChangedListene

2016-05-27 10:33:47 327

原创 初识安卓基本控件_EditText

EditText有个属性setSelection(int start,int end);可以将文本框的文字选中。。EditText的监听与其他不太一样,分别对应三个方法。et.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int s

2016-05-27 09:53:38 273

转载 Android导入三方jar未发现

1 是否重复引入了相同的jar2 buildpath--》order and export 将下面的全部选上3 保证被依赖的jar 在前面引入,可以通过down up 调节

2016-05-26 21:04:17 223

原创 HTML读书笔记(1)

今天测试下html学习的过程,可是目前发现一个问题。p2块p2这两种效果是不一样的。可以说 是很大的不同,一个是位置,一个是下面的换行边距。暂时不太理解。先记下来。

2016-05-26 15:35:03 409

原创 Android下单元测试

单元测试,通过测试类进行测试一些方法,不需要跑在虚拟器上面。下面是单元测试的三个步骤,1 测试类 继承AndroidTestCase 2 清单文件     android:targetPackage="your test class package ">3 在application  标签内,activity标签外加 现在就可以开始测试一些方法了,在测试类里写一

2016-05-25 22:48:34 246

原创 xutils上传json字符串

现在在这边工作,一直用的xutils工具进行http下载相关的操作,之前都是一些json数据的获取,或者form表单格式的上传,今天后台的POST请求有点不同,是上传json字符串,开始认为只要拼成了json字符串,然后和平时一样去addBodyParameter(key(随便指定的),value(json字符串)),可是后台发现接受的数据一直是乱码状态,最后发现不能用这个方法,应该使用param

2016-05-23 20:50:19 519

原创 下载的几个方法

虽然现在用了都是三方工具,很方便,不需要处理异步。但是最基础的也不能忘却。public class HttpUtils { /** * get请求方式 * **/ public static String getString(String webSite) { BufferedReader bReader = null; InputStream isInputStream

2016-04-28 15:17:42 271

原创 异步任务

为了避免ANR的产生,我们采取异步任务机制,在子线程去操作耗时操作,在主线程去更新UI界面。首先异步任务的三个参数的用处我来说明下。  第一个参数是 myTask的对象去执行时通过excute(?)去传入的,传给的目的地是doInBackground(String... params)这个方法,通过params[0]获取。当然也可以传入别的类型第二个参数是传入onProgressUpd

2016-04-28 13:47:08 237

原创 版本更新

上个星期,项目准备打包,然后做了一个版本更新。版本更新需要准备两个条件。一个是可以从服务器获得当前版本的接口(如果是文件,自己解析也行),一个是将已打包的项目放在服务器上。(我是直接给后台了)下面就可以更新本地了,下面附源代码。//0x02是比较版本号     //0x03 是安装apk,并删除apk private Handler handler = new Handler() {

2016-04-25 10:09:44 209

原创 Timer结合TimerTask替代子线程循环操作

平常我们使用的子线程都是在run方法内写while(flag)循环,通过外界改变flag去终止线程,现在我们有了一个新的方法通过计时器去操作,首先写一个TimerTask对象。 private class MyTask extends TimerTask { @Override public void run() { //执行操作语句 } }开启线程,timer.

2016-04-21 16:55:48 976

安卓与js互传数据,webview篇

安卓使用webview过程中,与js相互传递数据的过程。分2个方法,一个是js端传递数据到安卓端,一个是安卓端传数据给js中。谢谢

2018-03-09

android things 树莓派 字体乱码

支持textview正常显示文字,解决乱码问题。目前只限于在项目中,因为系统中没有字体,所以webview 或者 系统的控件 可能还是会乱码。注意!

2018-03-05

自定义相机

不调用系统的相机,我们通过自己调用Camera的API来完成拍照,获取图片这样的操作。

2016-06-16

AlarmManager

通过AlarmManager唤醒闹钟提醒

2016-06-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除