
Android
genmenu
这个作者很懒,什么都没留下…
展开
-
win10 Ubuntu 子系统下编译ffmpeg 和 x264
win10 Ubuntu 子系统下编译ffmpeg 和 x264原创 2022-08-04 17:18:05 · 1643 阅读 · 1 评论 -
cannot change strategy of configuration ‘complie‘ after it has been resolved解决方案
环境migrate AndroidX后,gradle 版本:5.6.4, gradlePlugins版本:3.6.4相关代码task getLibs { configurations.compile.setCanBeResolved(true) configurations.compile.asFileTree.each { File file -> if (file.getName().matches(".*\\.zip")) { c原创 2021-04-30 10:33:13 · 811 阅读 · 0 评论 -
笔记 -进制转换
十进制转成十六进制:Integer.toHexString(int value)十进制转成八进制Integer.toOctalString(int value)十进制转成二进制Integer.toBinaryString(int value)十六进制转成十进制Integer.valueOf(“F00”,16).toString()八进制转成十进制Integer.valueOf(“777”,8).toString()二进制转十进制Integer.valueOf(“0100”,2).toS原创 2021-03-18 10:00:31 · 185 阅读 · 0 评论 -
Fragment Navigation 使用总结
使用步骤创建Fragments在res 下创建navigation文件夹,然后在里面创建 Navigation Resource File,创建完成后文件里面会生成 标签在 标签中使用 标签 注册创建的Fragments, demo 如下: <fragment android:id="@+id/fragment_first" android:name="com.google.samples.apps.sunflower.test.Fi原创 2021-02-08 17:57:14 · 1479 阅读 · 0 评论 -
使用 Item TouchHelper 实现 RecyclerView的 item 上下移动
代码如下:package com.example.temp;import androidx.annotation.NonNull;import androidx.annotation.Nullable;import androidx.appcompat.app.AppCompatActivity;import androidx.core.content.ContextCompat;import androidx.recyclerview.widget.ItemTouchHelper;impo原创 2021-01-25 13:46:25 · 488 阅读 · 1 评论 -
Flutter学习-项目创建
Flutter 部分创建Flutter Module使用Android Studio 直接创建生成 aar 和 framework编译脚本如下def verison-number=1.1flutter build aar --build-number=verison-numberflutter build ios-frameworkFlutter中 代码main.dartimport 'package:flutter/material.dart';import 'pa原创 2020-08-25 15:22:28 · 209 阅读 · 0 评论 -
Android 中 降低 app crash 的方案。
代码实现import android.app.Applicationimport android.content.Contextimport android.os.Handlerimport android.os.Looperimport android.util.Logimport java.lang.Exceptionclass MyApplication : Application() { override fun attachBaseContext(base: Context原创 2020-07-13 18:34:28 · 386 阅读 · 0 评论 -
Mac上AndroidStudio JNI 开发Demo
Mac上AndroidStudio JNI 开发Demo配置下载 NDK和 CMake在local.properties中配置ndk 路径将ndk路径添加到系统的class path中 -(export PATH=PATH:PATH:PATH:ANDROID_NDK_HOME/)开发在 app/build.gradle中的defaultConfig中添加 :ndk { moduleName "hello" abiFilters "arm原创 2020-07-10 11:31:09 · 357 阅读 · 0 评论 -
android中生成jar
android中生成jartask makeJar(type: Jar) { //生成的jar的名称 getArchiveFileName().set( 'result.jar') //需要合并的jar的路径+名称 from(project.zipTree('build/intermediates/packaged-classes/release/classes.jar')) from(project.zipTree('lib原创 2020-05-19 11:00:02 · 299 阅读 · 0 评论 -
获取textview的宽度
private fun getLabelWidth(): Int { val view = LayoutInflater.from(context).inflate(R.layout.view_vehicle_service_item, null) val textView = view.findViewById<TextView>(R.id.vehicle_se...原创 2020-04-27 11:34:42 · 728 阅读 · 0 评论 -
android中是Aspect 进行埋点笔记
package net.sourceforge.logger;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;@Rete...原创 2019-12-19 15:04:54 · 404 阅读 · 0 评论 -
记录自定义view实现滑动和缩放
package com.plugin.ggg.motionlayoutdemoimport android.content.Contextimport android.util.AttributeSetimport android.view.GestureDetectorimport android.view.MotionEventimport android.view.ScaleGe...原创 2019-08-06 17:52:29 · 204 阅读 · 0 评论 -
关于服务端设置了IPV6时,Android请求网络超慢的问题记录
原因Android会优先选择ipv6 的进行dns的处理,具体为啥会慢,还在探索中…,也请大神们指教一下,多谢原创 2019-08-01 13:00:22 · 3464 阅读 · 1 评论 -
观察者模式
观察者模式结构一个软件系统常常要求在某一个对象的状态发生变化的时候,某些其他的对象做出相应的改变。做到这一点的设计方案有很多,但是为了使系统能够易于复用,应该选择低耦合度的设计方案。减少对象之间的耦合有利于系统的复用,但是同时设计师需要使这些低耦合度的对象之间能够维持行动的协调一致,保证高度的协作。观察者模式是满足这一要求的各种设计方案中最重要的一种。类图观察者模式所涉及的角色有:被...原创 2019-08-05 15:29:02 · 160 阅读 · 0 评论 -
miui10.2.2 或以上的小米手机上照片旋转问题及解决
问题描述在mini 10.2.2 或以上的小米手机上出现的问题:调用手机相册选取使用手机拍摄的照片时,对照片进行压缩处理后图片会出现旋转。解决方法:然后获取到旋转的角度,然后将图片旋转回来。获取照片旋转角度,代码如下: public static int readPicDegree(String fileName) { int rotate = 0; try ...原创 2019-02-16 17:45:34 · 7236 阅读 · 0 评论 -
微信7.0之后分享多张图片的变相实现
先上代码: public void callSystemShare(String imgUrl) { Intent intent = new Intent(); /* * //微信手动发朋友圈的界面 intent.setComponent(new ComponentName("com.tencent.mm", ...原创 2019-01-19 14:27:56 · 1075 阅读 · 0 评论 -
解决Androidstudio:Unable to start the daemon process: could not reserve enough space for object heap
这个问题网有两种解决方式:1.Do Following steps:Start Android Studio. Close any open project.Go to File > Close Project.(Welcome window will open) Go to Configure > Settings. On Settings dialog,selec...转载 2016-07-21 20:49:27 · 1387 阅读 · 0 评论 -
Android中 Address already in use at android.net.LocalSocketImpl.bindLocal
在做Android端 二维码扫描时遇到的问题,二维码扫描完毕后 传值时 报错:InstantRun: IO Error creating local socket at chek_ins.com.sign java.io.IOException: Address already in use at android.net.LocalSocketImp...原创 2016-06-02 21:26:48 · 3788 阅读 · 1 评论 -
jitpack生成发布依赖
1.在github上先新建一个仓库 2.将仓库clone到本地(复制下图中的链接) 3.在本地创建一个新的项目,目录在这个仓库里。准确的说是创建一个项目,然后在项目里面创建一个android library (dwhttplibrary) 4.在工程的bulid.gradle(Project :Dw)中添加下面一行classpath 'com.github.dce...原创 2016-11-07 11:52:13 · 614 阅读 · 0 评论 -
Android动画基础笔记
动画分类帧动画补间动画 (View 动画)属性动画帧动画简介需要定义好动画的每一帧,然后系统的一帧一帧的播放。缺点:因为逐帧动画的帧序列内容不一样,不但给制作增加了负担而且最终输出的文件量也很大。优点: 逐帧动画具有非常大的灵活性,几乎可以表现任何想表现的内容,而它类似与电影的播放模式,很适合于表演细腻的动画。实现使用java代码帧动画播放器:AnimationDr...原创 2019-03-15 12:33:03 · 109 阅读 · 0 评论 -
属性动画基础笔记
修改自定义属性创建自定义View,如下:public class CicleView extends View { private Paint paint; private float radius; public CicleView(Context context) { super(context); init(context, null)...原创 2019-03-20 10:35:03 · 119 阅读 · 0 评论 -
Android中app被其他app唤起
在 AndroidManifest.xml中定义scheme协议,如下 <activity android:name="com.test.ForWebAcitivity" android:noHistory="true" android:screenOrientation="user" and...原创 2019-03-20 15:59:57 · 1980 阅读 · 0 评论 -
Android修改状态栏颜色即状态栏字体颜色
设置当前界面是否是全屏模式/** * 修改当前 Activity 的显示模式,hideStatusBarBackground :true 全屏模式,false 着色模式 * * @param activity * @param hideStatusBarBackground */ public static void setStatusB...原创 2019-04-04 14:12:06 · 2820 阅读 · 0 评论 -
自定义View-View的构造函数
需要重写的构造方法public CustomView(Context context) {super(context);}public CustomView(Context context, @Nullable AttributeSet attrs) { super(context, attrs); }//通过attrs获取自定义的属性public CustomView(Cont...原创 2019-03-28 14:32:31 · 315 阅读 · 0 评论 -
自定义View-绘制
绘制绘制是一个两遍(two pass)的过程:一个measure pass和一个layout pass。测量过程(measuring pass)是在measure(int, int)中实现的,是从树的顶端由上到下进行的。在这个递归过程中,每一个View会把自己的dimension specifications传递下去。在measure pass的最后,每一个View都存储好了自己的meas...原创 2019-03-28 14:33:59 · 198 阅读 · 0 评论 -
Android端多渠道与模块结合
Android端多渠道与模块结合实现1.项目的结构如下图:2.多渠道配置文件多渠道的配置文件分为app module需要引入的和其他module中需要引入的,两者的区别就是其他module中需要引入的文件不能有applicationId,否则编译不能通过。截图如下:3.在module中引入Android端多渠道与模块结合说明1.demo的项目结构模式如下图:...原创 2019-04-30 10:07:45 · 731 阅读 · 0 评论 -
Android中activity进入退出动画
修改acitvity进入退出动画在res/anim下定义进入和退出的动画,如下图:加载动画方式1在styles.xml文件在引入,然后在AndroidManifest.xml中设置activity的theme,代码如下//styles.xml<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionB...原创 2019-05-10 15:40:32 · 5307 阅读 · 0 评论 -
Android中dialog修改默认背景色的透明的
public class MyDialog extends Dialog {public MyDialog(@NonNull Context context) {super(context);getWindow().getDecorView().setPadding(0, 0, 0, 0);WindowManager.LayoutParams layoutParams = getWindo...原创 2019-07-20 17:46:11 · 4634 阅读 · 0 评论 -
Android中自定义gradle插件实现步骤记录
在build.gradle中直接实现插件创建使用插件功能的groovy 类,在app层的build.gradle 中class GreetingPluginExtension { //插件类中的属性 String message = "Hello"}实现 org.gradle.api.Plugin 接口,在重新的apply() 方法中调用插件类class Gre...原创 2019-08-03 14:50:39 · 723 阅读 · 0 评论 -
基于 BlockQueue 实现的生产者-消费者
package com.ggg.coroutinedemo.blockqueue;import java.util.concurrent.*;/** * @author ggg * @version 1.0 * @date 2019/2/14 15:19 * @description */public class BlockQueueMain { public sta...原创 2019-02-14 16:04:30 · 417 阅读 · 0 评论