- 博客(41)
- 收藏
- 关注
原创 在 ubuntu 24.04 上使用 MLC-LLM 部署本地大模型到 Android 手机端
print(mlc_llm)”, 如出现以下输出,至此, 构建完成, 接下来就可以运行 Android App 了。等待 MLC LLM Python Package 安装完成。由于 mlc-llm 项目中默认配置了几个需要从。查找 NDK 路径: 先在系统文件管理器中找到。配置 NDK 环境变量: 打开终端, 输入命令。配置 JDK 环境变量: 打开终端, 输入命令。查找 JDK 路径: 在文件管理器中找到。按照上面步骤配置代理, 否则可能下载失败.中我们配置的已经下载好的大模型进行构建了。
2024-08-23 16:43:13 931
原创 RecyclerView实现包含倒计时的列表
功能:1.包含计时器的 RecyclerView 列表2.支持刷新和加载更多(分页加载)效果图: 实现思路:内部维护一个 map, key 为 adapter 绑定数据模型的唯一 id, value 为绑定的数据模型,map 保存需要更新倒计时的 model,启动一个定时器, 每个间隔周期遍历一次 map, 取出 map 中数据, 更新 model 的倒计时属性, 最后局部更新 item.主要代码 adapter :全部代码地址:https://github.com/QQQQQQY/RecyclerV
2022-06-09 11:13:51 667
原创 Android 圆角的另一种实现方式(抗锯齿)
先看下效果图:实现代码:package com.example.myapplication.roundImageimport android.content.Contextimport android.graphics.*import android.util.AttributeSetimport android.view.View/** * @Author: qqyang * @Date: 2021/12/2 * @Description: */class Custo
2021-12-03 16:35:22 1754
原创 Android 圆角 span
import android.graphics.Canvasimport android.graphics.Colorimport android.graphics.Paintimport android.graphics.RectFimport android.text.style.ReplacementSpanimport com.banbantv.show.utils.device.DisplayUtilimport kotlin.math.abs/** * @Author: ..
2021-10-26 17:13:15 1088
原创 Android Shape 介绍
以下出自官方文档:https://developer.android.google.cn/guide/topics/resources/drawable-resource语法:<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape=["rectangle" | "oval" | "li
2021-02-04 12:05:48 442 1
原创 android TextView 文本前后添加图片或者布局
效果图:代码实现(kotlin版,java 版本在最后):MainActivity:package com.tencent.myapplicationimport android.annotation.SuppressLintimport android.content.res.Resourcesimport android.graphics.Bitmapimport android.graphics.Canvasimport android.graphics.Painti
2021-01-05 12:01:46 1793
原创 android 自定义 RecyclerView 分割线
import android.graphics.Canvas;import android.graphics.Paint;import android.graphics.Rect;import android.view.View;import android.widget.LinearLayout;import androidx.annotation.ColorInt;import androidx.recyclerview.widget.LinearLayoutManager;impor.
2020-12-20 17:00:24 382 1
原创 android 可以拖动的悬浮按钮
package com.example.simpletest;import android.content.Context;import android.graphics.Color;import android.util.AttributeSet;import android.util.Log;import android.view.Gravity;import android.view.MotionEvent;import android.view.View;import ...
2020-10-12 19:45:48 541 1
原创 BaseActivity中权限申请封装Kotlin实现
abstract class BaseActivity : AppCompatActivity() { /** * 权限请求回调。 */ private lateinit var permissionsResult: OnPermissionResult companion object { const val REQ_PERMISSION_CODE = 10000 } override fun onCreate(saved..
2020-08-21 17:56:23 532
原创 Android databinding 原理浅析
通过一个demo来分析下 databinding的原理通过此文章,希望能明白以下问题 :1.dataBinding 是如何将生成的 impl 实现类返回给我们的?2.当视图有变化时(通过 EditText 输入),为什么 跟其绑定的 bean 的属性会改变?3.当设置了 bean 类的某个属性时,为什么跟其绑定的视图会更新?demo如下:首先配置开启 databinding :android { ... dataBinding { enabl
2020-08-20 10:38:18 776
原创 android 卡片式折叠展开自定义view
先看效果图:实现思路:1.外层是一个自定义的 FrameLayout,通过重写onMeasure() 和onLayout() 方法,动态计算其内部子view展开和折叠时的高度。2.内部子 view 是一个自定义的CardView(可以方便的处理圆角和阴影)。核心代码:其实现主要是由两个方法:onMeasure() 和onLayout(),onMeasure() ...
2020-04-24 14:02:51 2677
原创 用 gradle 编写翻译自动化转换脚本
在做多语言项目的时候,当涉及地区相对较多的时候,翻译管理是个比较麻烦的事,下面的代码脚本自动将 md 格式的翻译文件转换成 Android 需要的 .xml 格式的文件.翻译文件格式:转换之后的格式:具体代码如下:import groovy.transform.Fielddef mkGroup = 'translation'@Field def source...
2019-10-28 11:33:51 346
原创 android 设置 TextView 字体大小自动缩放
google 在Android 8.0 (API level 26) 上增加了对 TextView 字体进行设置的几个属性,利用这些新增属性可以实现TextView 的字体大小自动缩放功能,具体设置如下: <TextView android:layout_width="50dp" android:layout_height="20dp" ...
2019-04-18 17:55:57 3475
原创 Android gradle 将 ext 属性 自动 添加到 BuildConfig
编写 config.gradle 文件,里面是自己定义的app配置属性在项目module 的 build.gradle 里引入刚才写的 gradle 文件 在module 的 build.gradle 里 defaultConfig 块里 添加 android { compileSdkVersion 27 defaultConfig { ...
2018-09-18 18:11:06 4627
原创 Android arch - Room 的使用
概述 : Room 有3个主要组成部分:数据库:包含数据库持有者,并作为应用程序持久化的关系数据的底层连接的主要访问点。用 @Database 注解的类应满足以下条件: 1.是一个继承 RoomDatabase 的抽象类。 2.在注解中包含与数据库相关联的实体列表。 3.包含一个具有0个参数的抽象方法,并返回用 @Dao 注解的类。...
2018-08-03 18:11:08 3026
原创 TabLayout 添加分割线
给所有的 item 添加分割线 LinearLayout linearLayout = (LinearLayout) tabLayout.getChildAt(0); linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE); linearLayout.setDividerDrawable(Cont...
2018-06-15 17:23:27 983
原创 可以监听 editText 各种状态的 editTextView
public class TextContextMenuItemEditText extends android.support.v7.widget.AppCompatEditText { static final int ID_SELECT_ALL = android.R.id.selectAll; static final int ID_UNDO = android.R.id...
2018-05-21 18:05:51 724
原创 android TextView 部分文字变色 工具类
import android.content.Context;import android.support.annotation.ColorRes;import android.support.annotation.NonNull;import android.support.annotation.StringRes;import android.text.Spannable...
2018-03-20 10:32:03 456
原创 android webview cookie 写入失败的问题
接收到cookie:上图红线标注的地方: Domain 的值如果和同步的 url 的 host 不一样,会导致 cookie 写入失败解决办法:将 Domain 的值替换为 要写入的 url 的 host ,代码如下:private static String handleCookie(String url) { String cookie = (String) AppCacheTool....
2018-03-07 17:32:20 1073
原创 android webview 加载白屏问题
如果重写了shouldOverrideUrlLoading(WebView view, String url)或者shouldOverrideUrlLoading(WebView view, WebResourceRequest request)不要忘记添加 webView.loadUrl(url);如下图:
2018-03-07 17:19:49 2393
原创 Android 性能优化典范笔记
1.尽量避免Overdraw.1).移除非必须的background.2).减少重叠的布局3).可以通过canvas.clipRect()来帮助系统识别那些可见的区域。这个方法可以指定一块矩形区域,只有在这个区域内才会被绘制,其他的区域会被忽视。这个API可以很好的帮助那些有多组重叠组件的自定义View来控制显示的区域。同时clipRect方法还可以帮助节约CPU与GPU资
2017-09-28 16:40:34 336
原创 android studio 导入 Launcher3 的一些问题
在导入 Launcher3 的时候遇到 如下报错:D:...com\android\launcher3\LauncherBackupHelper.javaError:(19, 32) 错误: 程序包com.google.protobuf.nano不存在Error:(20, 32) 错误: 程序包com.google.protobuf.nano不存在Error:(24, 36) 错误: ...
2017-08-11 10:53:04 3172
原创 android studio 导入 Launcher2 模块,并编译运行
AS 版本:2.3.3aosp 版本: 4.4 (已经编译过)launcher 目录: .../packages/apps/ 下的 Launcher2 文件夹 详细步骤:1. 在 AS 中 新建一个项目:LauncherTest2.在 项目中 新增一个 Module : launcher223. 将 源码 Launcher2 文件夹 中的 AndroidManifest...
2017-08-09 20:51:35 2231 1
原创 在 android 4.4 下预置app
1.系统环境 : ubuntu12.042.android 源码版本 : 4.4步骤:1.在 .../packages/apps/ 目录下新建文件夹 SmartHome2.在 SmartHome 目录下 添加 要预置的 apk文件,并且新建一个 Android.mk 文件3. 编辑 Android.mk 文件 ,写入 如下内容,并保存:LOCAL_PATH := $
2017-08-07 14:00:22 1297
原创 ubuntu12.04下载android4.4源代码
因为国内不能直接访问谷歌,所以用的是清华开源镜像下载源代码:1.确保主目录下有一个 bin/ 目录,并且该目录包含在路径中:$ mkdir ~/bin$ PATH=~/bin:$PATH2.下载 Repo 工具,并确保它可执行:curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > ~/bin/rep
2017-08-01 16:24:03 582
原创 android 判断 wifi 是否是 5G
/** * 判断 wifi 是否是 5G MHZ. * 需要权限: * * * * */ public static boolean isWifi5G(Context context) { int freq = 0; WifiManager wifiManager = (WifiM
2017-06-16 16:13:54 3973 1
原创 关于 android 6.0的权限处理
先看下 关于运行时权限处理的官方建议,下面这段话摘自官网:从 Android 6.0(API 级别 23)开始,用户开始在应用运行时向其授予权限,而不是在应用安装时授予。此方法可以简化应用安装过程,因为用户在安装或更新应用时不需要授予权限。它还让用户可以对应用的功能进行更多控制;例如,用户可以选择为相机应用提供相机访问权限,而不提供设备位置的访问权限。用户可以随时进入应用的“Settings”
2017-06-15 15:34:15 315
原创 利用windowManager实现App上的logcat
在APP上显示UDP或者HTTP接收到的内容/** * @description: 调试用显示接收信息. * @autour: YQQ.yang. * @date 2017/6/12 9:19. */public class LogService extends Service { private WindowManager windowManager;
2017-06-13 15:32:37 344
原创 android圆角dialog,并限制宽度和高度
AlertDialog.Builder builder = new AlertDialog.Builder(getContext()); View contentView = getActivity().getLayoutInflater().inflate(R.layout.layout_dialog_contact, null); builder.setView
2017-06-05 09:39:20 707
原创 dialog软键盘隐藏
使用:dialog.setOnDismissListener(dialog1 -> KeyBoardUtil.hideKeyBoard(this));软键盘工具类:public class KeyBoardUtil { /** * 计算根布局的的底部空隙,从而判断软键盘的显示和隐藏. * 判断根布局的可视区域与屏幕底部的差值,如果这个差大于某个值,可以认定
2017-06-01 16:45:20 994
原创 Android底部弹出的popupWindow
import android.animation.ValueAnimator;import android.app.Activity;import android.graphics.drawable.BitmapDrawable;import android.support.v7.widget.LinearLayoutCompat;import android.view.Gravity...
2017-05-20 20:54:49 537
原创 Git 常用命令
详细 git 教程 : progitGit Community Book# 删除 untracked filesgit clean -f # 连 untracked 的目录也一起删掉git clean -fd # 连 gitignore 的untrack 文件/目录也一起删掉 (慎用,一般这个是用来删掉编译出来的 .o之类的文件用的)git clean -xfd # ...
2017-05-11 11:59:22 262
原创 在 Android 中 使用JNI
1、新建一个android工程2、在工程目录下添加名为 jni 的文件夹(必须)3、在jni文件夹下新建你的.c文件(我的叫Hello.c)4、在jni文件夹下新建名字为Android.mk文件4.1Android.mk文件中加入LOCAL_PATH := $(call my-dir) //当前路径(如果你了解shell语言,应该可以很轻松的理解)
2017-02-09 16:29:26 418
原创 关于 webview 截图 部分显示空白的处理
先说明 我遇到的情况:在对当前屏幕进行截图的时候 ,截到的图片总是 有部分空白,先看布局需要对其截屏的 activity:在 对上图进行截图分享的时候 发现 截取图片的 柱状图是 空白的:解决办法:给布局中的 WebView 设置 android:layerType="software" 属性;<RelativeLayout xmlns:andro
2016-12-28 14:43:28 4670
原创 Android 使用 百度地图 测量 多边形面积
btn_clear = (Button)findViewById(R.id.btn_clear);btn_jisuan = (Button)findViewById(R.id.btn_jisuan);// 地图初始化mMapView = (MapView) findViewById(R.id.mapView);mBaiduMap = mMapView.getMap();//地图单击事件监
2016-11-14 10:25:11 4590 2
原创 Android 设置百度地图最大最小缩放级别
设置百度地图缩放级别范围mMapView = (MapView) findViewById(R.id.mapView);mMapView.getMap().setMaxAndMinZoomLevel(18, 16);
2016-11-07 13:54:08 2853
原创 js 调用 Android 原生代码
网页端: function open(){ window.agf.openvip(); } Android 端 : webView = (WebView) findViewById(R.id.webView); webView.setWebViewClient(new WebViewClient());
2016-11-03 15:34:23 309
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人