
android
文章平均质量分 55
码海
你不走出去看看,你以为这里就是全世界!
展开
-
android base64数据转换成bitmap时,选择Base64.DEFAULT模式报bad base-64,选择Base64.URL_SAFE模式decodeByteArray报空指针
android base64数据转换成bitmap时,选择Base64.DEFAULT模式报bad base-64,选择Base64.URL_SAFE模式decodeByteArray报空指针原创 2022-03-17 11:02:02 · 3796 阅读 · 0 评论 -
新建NDK项目可以,导入新的NDK项目就报错!Android NDK开发之Error configuring.
原因:CMake无法找到与“Ninja”对应的构建程序(CMake Error: CMake was unable to find a build program corresponding to "Ninja".)方式一(简单): 配置Ninja 的环境,成功配置的链接(https://www.jianshu.com/p/474f8c29936f)方式二(需要下载gradle...原创 2019-12-12 17:09:17 · 282 阅读 · 0 评论 -
values\values.xml: AAPT: error: <item> inner element must either be a resource reference or empty
查看是哪个报错:<item name="about_version_code" type="id"></item>1、在你的项目res\values文件夹下新建ids.xml文件2、将之前编译出错的item重新写一遍,改成下面的ids.xml输入:(有多行报错就对应多行输入)<?xml version="1.0" encoding="utf-8"...原创 2019-10-22 14:34:20 · 2844 阅读 · 0 评论 -
android fragment EditText 键盘删除键删除所有数据再点击造成返回上一个界面,
监听输入框的删除按钮!et_key.setOnKeyListener(new View.OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_DEL) { ...原创 2019-10-18 10:40:29 · 461 阅读 · 0 评论 -
android 磁盘缓存(DiskLruCache)图片的基本流程
上个无奈的交接,基本没有写博客。在一次面试中被问到磁盘缓存答得有点尴尬。所以今天抽隔空回忆回忆。参考:https://blog.youkuaiyun.com/guolin_blog/article/details/28863651 一,依赖(第一个是磁盘缓存的依赖,后面的是我demo需要的)compile 'com.jakewharton:disklrucache:2.0.2' compile ...原创 2018-05-19 12:24:05 · 472 阅读 · 0 评论 -
Retrofit的学习笔记
个人见解:1.Retrfit是针对OkHttp网络请求的框架(本质就是对okhttp进行了封装),对OkHttp进行了强依赖。2.Retrofit使用了面向接口的方式进行网络请求。3.Retrofit使用了动态生成的代理类来进行封装网络请求接口。简单使用:Retrofit是通过java自定义的一个接口来进行网络请求。public interface RetrofitService {//post...原创 2018-03-07 16:41:15 · 218 阅读 · 0 评论 -
MVP模式的学习,个人笔记
MVC模式:视图(View):用户界面。控制器(Controller):业务逻辑模型(Model):数据存取通信方式View 传送指令到 ControllerController 完成业务逻辑后,要求 Model 改变状态Model 将新的数据发送到 View,用户得到反馈MVP模式: M-Model-数据的存取 V-View-用户界面 ...原创 2018-02-27 17:31:29 · 202 阅读 · 0 评论 -
关于滚动布局中的Listview的高度重新计算
将计算高度的方法导入你的方法类里面。作为一个通用的方法。注意该方法一定是在你的设置Adapter(**.setAdapter())之后。如果你是更新了listview里面的数据,设置高度的方法就跟在notifyDataSetChanged()后面。(原因:导入新数据生成了新的item,高度改变)/** * 设置listview高度的方法 * @param listView原创 2018-01-19 10:59:27 · 582 阅读 · 0 评论 -
tcp socket通信
服务端TCP编程的服务器端一般步骤是: 1、创建一个socket,用函数socket(); 2、设置socket属性,用函数setsockopt(); * 可选 3、绑定IP地址、端口等信息到socket上,用函数bind(); 4、开启监听,用函数listen(); 5、接收客户端上来的连接,用函数accept(); 6、收发数据,用函数sen原创 2018-01-17 17:23:31 · 241 阅读 · 0 评论 -
TCP UDP的区别(完美级)
TCP UDPTCP与UDP基本区别 1.基于连接与无连接 2.TCP要求系统资源较多,UDP较少; 3.UDP程序结构较简单 4.流模式(TCP)与数据报模式(UDP); 5.TCP保证数据正确性,UDP可能丢包 6.TCP保证数据顺序,UDP不保证 UDP应用场景: 1.面向数据报方式 2.网络数据大多为短消息 3转载 2018-01-17 17:10:58 · 322 阅读 · 0 评论 -
Picasso,fresco的比较
在从网络加载同一张图片,fresco会明显比piacsso快,而且有更好的内存管理,更能也更强大。picasso相对容易上手,操作简单。picasso使用:到网上去下载一个架包,导入库中,接着使用Picasso.with(**Activity.this) .load( "http://www.clipartbest.com/cliparts/dc6/5br/原创 2018-01-03 14:13:39 · 265 阅读 · 0 评论 -
滑动冲突笔记
view是显示组件的基类,viewgroup继承自view是布局的基类viewgroup包含view,viewgroup。view的touch事件总是从view根节点开始向下传递,根据点击的位置判断传递给哪一个子view,直到子节点没有子节点,这个时候touch事件被该view消耗,事件传递结束。如果该view没有使用,那么事件会依次向上传递,直到有view消耗这个事件,最后还没有view消耗,A...原创 2018-02-23 18:19:38 · 158 阅读 · 0 评论 -
首次尝试用用git
首先申请在github官网申请一个账号。登录账号然后创建一个仓库,如图然后填写信息如图点击Create repository创建。接着跳转到。https://github.com/mimao/test3.git这个就是你上传项目的路径(这里是test3因为创建的时候名字是test3,)。接着下载安装git。安装完后桌面点击右键,然后选着Git bash here会弹出小黑框。接着克隆github的...原创 2018-03-22 15:09:44 · 201 阅读 · 0 评论 -
抛弃传统的NDK使用方式,使用CMAKE。
传统的使用可参考:http://www.360doc.com/content/16/1130/13/9008018_610724908.shtmlhttp://blog.youkuaiyun.com/tongseng/article/details/53005123CMAKE方式:在新建项目的开始时可以选着Include C++support 打钩,接着继续新建。看工程目录可以看到多出一cpp的文件(跟ja...原创 2018-03-14 15:35:21 · 523 阅读 · 0 评论 -
7.0通过Intent调用系统相机(包含动态权限)
官方的解决方案:https://developer.android.google.cn/training/secure-file-sharing/setup-sharing.html步骤1:在AndroidManifest.xml的(包名是AndroidManifest.xml开头package的属性)<application><provider and...原创 2018-04-19 09:53:54 · 1130 阅读 · 0 评论 -
android 正式签名 debug签名
正式签名:进入win+R进入命令提示符窗口, 输入keytool -exportcert -list -v -keystore D:\***.jks 输入密码是***.jks签名文件密码 debug签名:①使用androidstudio 自带的singingReport②使用命令提示符窗口,输入keytool -list -v -keystore debug.keystor...原创 2018-09-21 11:05:06 · 321 阅读 · 0 评论 -
android p 的网络适配
在android 6.0以后抛弃了 弃用 Apache HTTPClient,推荐使用 HttpURLConnection。在新建项目上,最好使用使用 HttpURLConnection。不然要做网络请求的适配。如果还想使用Apache HTTPClient或者是适配以前的项目那么就要修改一下地方。一,在app包下的build.gradle里面添加(useLibrary 'org.ap...原创 2018-12-05 10:35:14 · 313 阅读 · 0 评论 -
android studio 运行reactnative报错
错误:Unable to load script. Make sure you're either running a Metro server (run 'react-native start') or that your bundle 'index.android.bundle' is packaged correctly for release.cmd进入到reactnative创建的项...原创 2019-05-15 09:43:17 · 567 阅读 · 0 评论 -
高德的错误码 errorCode=10
记录以下错误:在application标签里面加上高德的服务<application > <service android:name="com.amap.api.location.APSService"></service> </application>...原创 2019-05-23 17:18:54 · 1407 阅读 · 0 评论 -
导入libra 报错Unable to resolve dependency for ':app@repositories/compileClasspath': Could not resolve *
app的:buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } repositories{ maven{ url"https://mav...原创 2019-05-23 18:39:05 · 334 阅读 · 0 评论 -
android 9 无法访问网络
(1)抛弃原来http请求改用https请求(2)targetSdkVersion 降到27以下一般使用26比较稳定(3)更改网络安全配置前面两个方法容易理解和实现,具体说说第三种方法,更改网络安全配置。1.在res文件夹下创建一个xml文件夹,然后创建一个network_security_config.xml文件,文件内容如下: <?xml version="1....转载 2019-06-12 10:40:20 · 1220 阅读 · 0 评论 -
android studio导入library的错误No service of type Factory/Could not get unknown property
Error:No service of type Factory available in ProjectScopeServices.一般是maven-plugin的依赖不是最新的,到jcenter查看最新版本android-maven-gradle我现在用的classpath ‘com.github.dcendents:android-maven-gradle-plugin:1.5’原创 2017-12-13 09:50:54 · 525 阅读 · 0 评论 -
学习音频之android中AudioRecord采集音频的参数说明
在android中采集音频的api是android.media.AudioRecord类其中构造器的几个参数就是标准的声音采集参数以下是参数的含义解释public AudioRecord (int audioSource, int sampleRateInHz, int channelConfig, int audioFormat, int bufferSizeInByte转载 2017-11-06 09:16:17 · 3111 阅读 · 0 评论 -
自定义控件(3)
写下这个是为了以后方便自己查看。大神链接http://my.youkuaiyun.com/lmj623565791自定义一个圆环转动器,前面步奏大同小异,直接粘代码。这个是控件的属性。xml version="1.0" encoding="utf-8"?> name="firstColor" format="color"/> name="secondColor" fo原创 2017-09-19 11:57:45 · 318 阅读 · 0 评论 -
百度地图的开发day1之SHA1的值,包名,安全码
先申请一个百度账号,到百度地图开发者文档里面创建应用填写参数获取SHA1:先打开cmd然后进入到android文件夹(输入:cd .android)接着输入keytool -list -v -keystore debug.keystore,然后会弹出输入一个密钥密码:输入android最后弹出你想要的信息了。原创 2017-07-17 11:52:11 · 531 阅读 · 0 评论 -
我使用的IJK拉流直播播放器
无意间发现有个群主(小路飞)写了一个直播的sdk(可自定义界面) 548545202下载好sdk先导入项目,至于过程就不过多的描述。导入完之后在项目里面的build.grable配置下面的信息(里面的版本信息看你的studio的版本而定)ext { compileSdkVersion = 23 buildToolsVersion = '23.0.3' target原创 2017-07-17 09:30:31 · 981 阅读 · 1 评论 -
解决android的activity强制弹出软键盘
在AndroidMainfest.xml 文件中配置中在你弹出软键盘的activity中加入 android:windowSoftInputMode="stateHidden"原创 2017-07-06 15:20:52 · 700 阅读 · 0 评论 -
使用TabHost点击第一次无法获得数据的问题,自定义TabHost。
刚开始使用TabHost时,第一次点击老是无法获取数据。自定义一个tabhost。原创 2017-07-07 14:24:25 · 469 阅读 · 0 评论 -
Android 搜索手机本地的全部视频(通过查询数据库)
开始的时候我是通过根路径去遍历,发现行不通。不知道是手机的问题还是逻辑问题(个人觉得没毛病),最后我就是用了查询手机的数据库来找出所有的本地视频。话不多少说。下面的类,是主界面的一个内部类。因为要查询数据库(一个耗时操作)所以要在子线程里面进行,通过handle更改UI界面(跳转到主线程)。MediaStore这个类是Android系统提供的一个多媒体数据库,android中多媒体信息原创 2017-07-14 09:54:55 · 5957 阅读 · 0 评论 -
简单暴力沉浸式
只需要你复制下面代码到你的界面去就Ok。重点是系统必须4.4以上,不然会没有效果。 @Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); if (hasFocus && Build.VERSION.SDK原创 2017-07-13 11:49:33 · 344 阅读 · 0 评论 -
android 切换栏目 SmartTabLayout的使用
这个是整体布局xml布局(重点是红色部分,那个是栏目的布局)<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height原创 2017-07-13 10:32:54 · 747 阅读 · 0 评论 -
搜索手机里面的所有App,找到其中一个并启动
首先搜索手机文件是一个耗时的操作,所以要在子线程里面来执行 new Thread() { public void run() { mList = AppInfoProvide.getAppAllInfo(getActivity().getApplicationContext());原创 2017-07-12 14:48:13 · 588 阅读 · 0 评论 -
如何使用异步
文章来源:http://www.cnblogs.com/smyhvae/p/3866570.html【正文】本文将讲解一下Android的多线程的知识,以及如何通过AsyncTask机制来实现线程之间的通信。一、Android当中的多线程:在Android当中,当一个应用程序的组件启动的时候,并且没有其他的应用程序组件在运行时,Android系统就会为该应用程序转载 2017-07-12 14:27:09 · 386 阅读 · 0 评论 -
百度地图的key值的注意点
在填写key值时一定要注意key值和你项目的一定要适配,不能把别的应用的key值填写到自己的项目里面去。原创 2017-07-18 15:46:25 · 1050 阅读 · 0 评论 -
Android 简单 通知栏 Notification
Notificaiton状态通知栏:主要是用在消息的提醒,类似于QQ,微信信息来的时候在通知栏弹出一个通知。可以有点击效果。首先我们先获得通知栏的服务实例。NotificationManager mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);这个服务实例对象负责发通知,清除原创 2017-08-01 17:18:06 · 451 阅读 · 0 评论 -
listview里面的item的多种view模式(多种类型的item)
如果只是简单的实现单一的item,就只要重写下面的四个方法:int getCount():返回数据源中数据项的总数量 Object getItem(int position):根据position从数据源中获取数据项 long getItemId(int position): 根据position从数据源中获取数据项I原创 2017-07-24 10:17:37 · 703 阅读 · 0 评论 -
获取,制作手机的唯一的id号
大神链接http://blog.youkuaiyun.com/ljz2009y/article/details/22895297首先获得手机的各种硬件设备的唯一标识。TelephonyManager TelephonyMgr=(TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE);String szImei = Tel原创 2017-09-19 15:24:57 · 620 阅读 · 0 评论 -
错误 Error: Expected resource of type id [ResourceTyp]
只要出现这三个错误都可以用注解来决解(就一句话@SuppressWarnings("ResourceType"))Android】Error: Expected resource of type styleable [ResourceType] ],Error: Expected resource of type id [ResourceTypErr原创 2017-09-11 15:40:43 · 409 阅读 · 0 评论 -
自定义控件(2)
写下这个是为了以后方便自己查看。这个自定义的控件是图片和文字同时在一个控件里面。首先我们在属性的xml文件里面添加图片属性(image,imageScaletype)。 接着就可原创 2017-09-18 14:24:35 · 427 阅读 · 0 评论 -
SurfaceView surface SurfaceHolder制作简单的相机
简单的相机界面布局<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://sc原创 2017-08-31 09:42:06 · 667 阅读 · 0 评论