- 博客(103)
- 资源 (5)
- 收藏
- 关注
原创 使用Intellij idea创建一下java后台项目并实现第一个接口
使用Intellij idea创建一下java后台项目 1.下载并安装Intellij idea. 2.选择Create New Project 3勾选左侧的Spring Initializr ,点击next 4.填写项目名称和包名,点击next 5.勾选左侧web ,然后勾选中间的sping web,点击右侧的next 6.等待项目创建完成。 ...
2021-03-01 15:00:22
8535
4
原创 Android app自带多渠道打包
Android app自带多渠道打包 1.build中的配置 // 多渠道/多环境 的不同配置 //代表不同的维度,每次打包只能打一个维度的包 flavorDimensions "app" // flavorDimensions "version" productFlavors { mainApp { dimension "app" ap...
2021-01-07 10:53:03
317
原创 Android集成unity工程以及交互的那些事
Android端集成步骤 第一步引入 unityLibrary包到项目中 File --> new --> import module 导入library 第二步在settings.gradle里面添加 project(':unityLibrary').projectDir=new File('unityLibrary') 第三步 项目级build.gradle里面添加 flatDir { dirs "${project(':unityLibrary').project...
2020-12-09 10:16:44
740
原创 Android 工程引入Fluttermodule
1.首先创建一个Android工程 2.使用Android studio创建Flutter module 3.在Android工程根目录的setting.gradle中加入: setBinding(new Binding([gradle: this])) evaluate(new File( settingsDir.parentFile, 'FlutterHybridDemo/zx_test/.android/include_flutter.groovy' )) 4
2020-11-10 17:42:46
343
原创 网页打开APP的那点事(一篇足以)
#网页端 点击一个按钮来发送一个自定义scheme协议 例如: startApp:function(url){ window.location = "app://main?param"+url } 点击跳转到APP的按钮触发startApp方法 #scheme协议介绍 一个完整的完整的URI scheme协议格式由scheme、host、port、path和query组成,其结构如下所示: &...
2020-04-01 11:54:08
460
原创 Android 静态代理和动态代理
Android 静态代理和动态代理 代理模式定义:为其他对象提供一种代理以控制这个对象的访问 静态代理 静态代理比较简单,看下下面的代码就很好理解 //定义一个接口 public interface Subject { void sayGoodBye(); void sayHello(String str); } //定义一个被代理的类 public class RealSubj...
2020-02-26 19:59:24
457
原创 从相册选择图片,裁剪并上传
最近使用Retrofit上传了一下头像,在此记录一下 首先需要添加一下Retrofit的依赖 'com.squareup.retrofit2:retrofit:2.4.0' 然后定义一个借口类,将接口写上,最后实现这个方法 //设置头像 @POST("/UserApi/UpAvatar2") @Multipart Observable<PictureBean> updateA...
2019-09-16 17:15:41
454
原创 Java 两个数据合并成一个新的数组
String[] b= {"4","5","6"}; //第一个数组 String[] c= {"7","8","9"}; //第二个数组 List list = new ArrayList(Arrays.asList(b)); //将第一个数组转换成list list.addAll(Arrays.asList(c)); //将第二个数组转化后添加到list String[] str =...
2019-05-20 17:13:03
2987
原创 Android @Part parameters can only be used with multipart encoding. (parameter #1)
最近使用Retrofit上传头像的时候报错 java.lang.IllegalArgumentException: @Part parameters can only be used with multipart encoding. (parameter #1) for method UserService.updateAvatar at retrofit2.Se...
2019-03-19 10:09:17
5943
原创 Android P版本 刘海屏适配 与WindowInsets,DisplayCutout使用
Android P版本的发布,引入了刘海屏的概念,像华为nova 3e,vivo X21等手机厂商也纷纷推出自己的刘海屏手机,我们先预览下HUAWEI nova 3e的机照 从这张图中我们可以看出,所谓的刘海屏实际上是安装在状态栏的一块玻璃屏幕,刘海屏的高度等于状态栏的高度 如果我们的的app没有适配android p的刘海屏,那么在显示的时候变会出现问题, 1)如没有状态栏,全屏显示的...
2019-03-19 09:57:08
3716
原创 Android fragment懒加载(界面可见时加载,左右滑动只第一次加载一次数据)
使用前需知 目前有人使用后出现了诸如首次打开显示空白界面,但点击有反应;或来回切换又变空白界面的问题。这些问题我暂时还不知道该怎么解决,后期有时间时会具体去分析下问题该怎么解决。所以你如果要使用该代码,希望考虑一下,我自己的小应用目前是没碰到这些问题。 效果 老规矩,先来看看效果图 没错,我又入坑了,又重新做了个 Gank 客户端,因为之前那个代码写得太烂了,这次有好...
2019-03-15 14:34:23
2378
转载 Android 仿微信通讯录功能,好友排序 + 字母索引
一、效果图展示 二、功能特点 1.好友排序:按照拼音顺序对好友进行排序,兼容英文数字符号等 2.字母索引:右侧字母导航条,既可拖动也可点击,联动ListView滑动 三、实现 接下来就让我们一步步显示这个效果吧。 1.右侧字母索引的导航条 这个我们可以在网上找到很多类似的,你大可找一个自己喜欢的甚至自己写一个出来,这里我在网上找了一个带波浪效果的,看起来比较炫酷一点吧。 这...
2019-03-14 17:29:44
1603
原创 android 流式布局
今天做项目碰到一个搜索界面的绘制,包括历史记录的添加,搜索后添加到搜索列表,显示的样式类似淘宝 的搜索记录 1.首先创建FlowLayout类,继承ViewGroup public class FlowLayout extends ViewGroup { private static final String TAG = "FlowLayout"; private stati...
2019-03-12 10:41:45
473
转载 表单验证(正则表达式)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> body{ margin: 0 auto; } ...
2019-03-12 10:20:45
303
原创 TabLayout的基本使用
1.添加依赖: compile 'com.android.support:appcompat-v7:23.4.0' compile 'com.android.support:design:24.2.0' Mianactivity中的使用 package com.noonecode.tablayoutdemo; import android.support.design.wi...
2019-03-12 10:20:23
239
原创 Android 自定义dialog并链式调用
1.首先定义一个xml文件,制定我们需要的dialog样式 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" andro...
2019-03-07 15:39:15
645
原创 Android 横竖屏切换的处理方式
/** * 横竖屏切换处理 * * @param newConfig */ @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); if (mLayoutManager != null &&...
2019-03-04 17:27:50
410
原创 Android 获取状态栏的高度
/** *方法1 * 获取状态栏高度 *通过反射的方式获取 * @param context * @return */ private static int getStateBar2(Context context) { Class c = null; try { c = Class.forName("com.android.internal.R$dimen...
2019-03-04 17:10:58
861
原创 Android 8.0跳坑之'Only fullscreen opaque activities can request orientation'
1,了解问题是什么, 'Only fullscreen opaque activities can request orientation' 翻译:只有全屏不透明的activity可以设置orientation 可以看出问题不出在代码上,而是在样式设计中, 2,先确认自己是不是用的Android8.0版本(楼主只想说只在8.0遇到过这个问题,还是遇到了三次,都不长记性的那种) 3,在An...
2018-11-06 18:01:17
308
原创 android7.0以上使用融云即使通讯的坑
一、连接服务器不走connect()方法 在android6.0以下,在使用融云sdk时,直接将依赖库引入到项目中即可。但是在7.0及以上时,直接应用会发现消息一直发送不出去,错误提示为dlopen failed: library "libsqlite.so" not found。这是因为7.0以后禁止直接访问系统内容,而这个有恰好在系统内容中,所以我们在连接融云服务器时一直连接失败。 解决方...
2018-10-10 10:42:18
352
原创 多渠道打包之动态修改App名称,图标,applicationId,版本号,添加资源
近来公司有需求,同一套代码,要打包N套APP,而且这些APP的软件名称,软件图标,applicationId,版本号,甚至主页都不一样。之前都是单次修改,单次打包,可随着需求越来越多,需要打的包也会越来越多,单次打包费时费力,很明显已经不再适合,于是研究了一下,使用gradle成功实现了需要的功能,打包过程也变的更为简单。 gradle是一个基于Apache Ant和Apache Maven概念...
2018-07-26 16:24:06
635
原创 安卓开发——报错:Attempt to invoke interface method 'boolean java.util.List.add(java.lang.Object)' on a null
安卓开发,调试运行中报错:Attempt to invoke interface method 'boolean java.util.List.add(java.lang.Object)' on a null object reference 原因是你定义了 List<E> lists; 但并没有初始化,应该这样写: List<E> lists = new Array...
2018-07-18 14:06:35
2453
原创 微信小程序实现列表页面及上拉加载功能
涉及到的内容有列表渲染 即(wx:for)页面间传值(目前唯一会的一种)数据请求(wx.request)以及分页的实现首先实现一个这样的页面(页面间传值)classification.wxml代码<!--pages/classification/classification.wxml--> <block wx:for="{{list}}"> <navigator ur...
2018-07-06 16:50:19
1889
原创 微信小程序 开发列表
一.知识点(一).列表渲染 wx:fortip:wx:for=“array”可以等于参数名,在js中调用Page({ data:{array: [{name: '小李'},{ name: '小高'}]} }),获取值;也可以直接把wx:for="{{[1, 2, 3]}}",把值放在上面1.在组件上使用wx:for控制属性绑定一个数组,即可使用数组中各项的数据重复渲染该组件。默认数组的当前项的下标...
2018-07-06 16:47:30
1165
原创 解析本地xml文件
//mainActivity中import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.widget.TextView; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.N...
2018-04-24 15:17:20
694
原创 沉浸式工具类
//布局文件中添加 android:fitsSystemWindows="true" android:clipToPadding="true" //activity中添加 new SystemStatusManager(this).setTranslucentStatus(R.color.barBackground);//设置状态栏透明,参数 package
2018-01-08 14:56:00
302
原创 recyclerview的分割线设置
import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Rect; import android.support.v7.widget.RecyclerView; import android.view.View; /*
2017-12-28 09:53:15
578
原创 Xbanner的基本使用
1导入依赖 compile 'com.xhb:xbanner:1.2.2' compile 'com.nineoldandroids:library:2.4.0' compile 'com.github.bumptech.glide:glide:3.7.0' compile 'jp.wasabeef:glide-transformations:1.0.6' 2添加权限 use
2017-12-18 21:17:04
2490
原创 BaseMvp+rxjava+retrofit+recyclerview
1.创建BasePresenter类 public class BasePresenterV> { public V view; public void attach(V v){ this.view = v; } public void dttach(){ this.view = null; } } 2.创建BaseM
2017-12-06 16:08:27
332
原创 判断网络状态是否可用
public static boolean isNetworkAvailable(Context context) { ConnectivityManager connectivity = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); if (co
2017-12-02 14:22:48
387
原创 Greendao的配置
// 粘贴红色字体即可 //项目的build文件中 // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { jcenter() } depende
2017-11-30 19:43:01
472
原创 Android 二级列表
//适配器 public class MyExpandableListView extends BaseExpandableListAdapter { private Context context; private LayoutInflater inflater; public MyExpandableListView(Context context){
2017-11-22 19:33:38
2050
原创 多线程下载(100%)
多线程下载断点续传 什么是多线程下载? 多线程下载其实就是迅雷,BT一些下载原理,通过多个线程同时和服务器连接,那么你就可以榨取到较高的带宽了,大致做法是将文件切割成N块,每块交给单独一个线程去下载,各自下载完成后将文件块组合成一个文件,程序上要完成做切割和组装的小算法 什么是断点续传? 断点续传,就是当我们下载未结束时候,退出保存下载进度,当下次打开继
2017-11-22 13:38:34
1488
原创 友盟第三方登录获取QQ的头像和昵称
public class App extends Application { { PlatformConfig.setQQZone("100424468", "c7394704798a158208a74ab60104f0ba"); } @Override public void onCreate() { super.onCreate(
2017-11-21 20:38:07
844
原创 ijkplayer播放视频
ijkplayer是Bilibili基于ffmpeg开发并开源的轻量级视频播放器,支持播放本地网络视频,也支持流媒体播放。支持Android&iOS。 ijkplayer的编译这里不多阐述,我也是直接获取别人编译完成的so库文件,直接使用的。如果你对ijkplayer的编译感兴趣,可以百度一下,有很多文章。 使用ijkplayer GitHub地址:git@github.com:
2017-11-17 15:37:02
2863
1
原创 MVP登录
public class Api { public static final String DENGLU_PATH = "http://120.27.23.105/"; } public interface ApiServer { @FormUrlEncoded @POST("user/login") Observable login(@Field("
2017-11-13 20:12:31
393
原创 Retrofit加载post(上拉刷新,下拉加载)
1.添加依赖 compile 'com.squareup.retrofit2:retrofit:2.0.1' compile 'com.squareup.retrofit2:converter-gson:2.0.1' compile 'com.squareup.retrofit2:adapter-rxjava:2.0.1' compile 'io.reactivex:rxandroid:1.
2017-11-11 15:49:02
429
原创 断电续传(2)
1。主类 import android.os.Environment; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.ProgressBa
2017-11-10 18:40:15
336
原创 android 断点续传
添加依赖 compile 'com.loopj.android:android-async-http:1.4.9' 添加权限 <uses-permission android:name="android.permission.INTERNET"></uses-permission> <uses-permission ...
2017-11-10 18:29:33
569
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅