- 博客(17)
- 收藏
- 关注
原创 Android Studio 源值7已过时, 将在未来所有发行版中删除
最近用android studio编译工程(kotlin),总是报告这个警告, 去网上搜也没找到正确的解决办法后来摸索这改了下面三个地方警告消失,具体原因不详1.(ctrl+alt+s)打开设置2.(ctrl+alt+shift+s)打开工程设置...
2020-08-31 17:05:58 1493
原创 如何查看apk签名方式(v1 v2, v3
查看apk签名情况,是v1, v2, v3 v1+v2 什么的cmd.exe 打开apksigner.jar所在目录(这台机器是:C:\Users\houcaihua\AppData\Local\Android\Sdk\build-tools\29.0.2)apksigner verify -v "E:\apk_release\release\tianyi-1.3.9.apk"
2020-08-26 14:46:54 1959
原创 陷阱:Cause: java.io.UTFDataFormatException (Address, Room, sqlite)
最近想学 android kotlin, 我学这个都是看官方文档,以为这玩意靠谱,开始还算顺利,但看到room这块,上机实验代码时遇到了这个错误,当我把文档中提到的Adress类 Ebedded到User的时候报了:Cause: java.io.UTFDataFormatException开始感觉很奇怪,去网上搜索,全都是编码错误啥的, 而我这肯定不是这个问题,闹心这么简单的代码怎么会出问题呢,难道官方doc有问题? 又去google啥的搜,还是没啥收获,最后无意中发现 引入包中有个impor
2020-08-25 16:27:58 408
原创 用C++代码更改系统分辨率
由于工作需要,我需要制作一个小工具来更改系统分辨率。小工具需要支持多显示器,每个显示器要能分别设置分辨率功能很简单,由于不需要做的好看,只要功能可用即可,使用了MFC(只是为了方便)乱七八糟的逻辑不说,只说几个关键函数:1.枚举系统显示器void CDisplaySettingsDlg::FillDeviceCombo(){ m_comboDevices.Clear(); m_comboDevices.ResetContent(); DWORD dwAdaptorIndex =
2020-06-19 10:09:18 2563
原创 Activity Result API解析
我们有时候需要用ActivityA 启动ActivityB, ActivityB结束后返回一个结果给ActivityA这种事情很多人都知道怎么做,无非就是//ActivityAstartActivityForResult(intent, 200) override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { ---- }//ActivityBsetResult(1
2020-06-12 17:59:52 1308 4
原创 散装安卓开发笔记
1.override fun onSaveInstanceState(outState: Bundle)//当activity被stop或者临时销毁时会被调用override fun onRestoreInstanceState(savedInstanceState: Bundle) //只有当系统activity是被系统由于配置改变并临时销毁时才会调用,如转屏。要好好理解,如果activity在activity堆栈没有被销毁只是隐藏了,无需restore,但如果activity就是要销毁了,那也.
2020-06-12 14:13:22 119
原创 Cause: invalid type code: 69
今天编译我的安卓工程,爆出这个这个错误,去网上搜,也没找到答案,最后发现是grandle设置的NDK版本和我实际安装的NDK版本不一致导致的,更改到正确的版本号后,错误消失build.gradle...compileSdkVersion 29ndkVersion "21.2.6472646"buildToolsVersion '29.0.2'......
2020-06-05 13:32:00 1039
原创 安卓读写文件权限测试
我们在做各种程序,App稍微复杂点,都难免要进行读写文件。windows还好,虽然也有各种权限和安全机制,但就读写文件来说,还好,管理员权限的话,几乎可以读写任何文件了。。。废话少说,还是来说正题。首先,我在做一款app的时候,就需要进行读写文件,在没有进行系统测试整理之前,总是一头雾水。 主要有两点:1 各种getXXX函数返回的路径到底是啥?2 各种存储位置都需要怎么样才能有读写权限?关于问题1,已经有大神总结的很好了https://blog.csdn.net/u010937230/
2020-05-25 15:19:48 1120 6
原创 windows到安卓的笔记
由于形势和工作的需要,我不得不windows开发和Android开发同时进行本来我入职这个公司是做windows端的。但由于安卓端没有人维护了,所以就让我来搞。讲道理即便Android 0基础, 都是程序员维护个客户端还是可以的。这句话说的稍微有点大,毕竟我之前是c++,windows。 java 安卓系统一概没弄过。 那么我就来说说怎么来快速上手安卓,或者说转到安卓?1.那就是开...
2020-03-03 12:18:39 258
原创 多进程通信
多进程通信这个问题真是又老又没提头,可是真用起来还遇到蛮多问题的,现在说说,以免大家和我一样 方法1: 窗口消息好处 简单坏处 通用性不强,还必须弄个隐藏窗口什么的响应消息 用WM_COPYDATA 地球人都知道怎么用了,不行就看MSDN好了但是他有个很大的毛病,这也是我放弃它的原因。 如果你需要和windows服务程序进行通信的话,这个办法就不好用了。不相信可以试
2010-02-01 17:22:00 651
原创 判断文件夹路径是否合法, 判断文件路径是否合法
那天做项目,遇到一个问题,判断一个用户输入的字符串是否一个合法的文件路径。 由于用户输入的文件路径不一定在本机上存在,所以有些办法没法用。找到一个貌似好用的系统APIPathIsDirectory 也不管事儿,原因是它也只能判断存在的文件夹。我的需求是判断用户输入的路径是否合法。 比如 :D:/hero是合法的文件路径 d:/hero.exe也是 即使hero 或hero.ex
2010-02-01 17:14:00 7472 2
原创 COM 的聚合和包容
我们可以这样去认识它们 包容(Containment/Delegate)com的包容就是在自己的组件里利用别人的组件。实现这种目的的步骤很简单:如下代码HRESULT FinalConstruct() { HRESULT hr; hr = CoCreateInstance( CLSID_SimpleMath, NULL, CLSCTX_INPROC_SER
2009-03-27 18:29:00 814
原创 ATL 8.0(VS2005) 我要删除一个接口方法
如果想删除一个已经存在的接口方法,假设是IMath::Add那么应按如下步骤操作1:打开idl文件删除红色部分interface IMathFt : IUnknown{ [helpstring("方法Add")] HRESULT Add(LONG op1, LONG op2, [out] LONG* res); [helpstring("方法Subtract")] HRESULT
2009-03-25 11:32:00 1457
原创 ATL 8.0(VS2005) 我要创建一个继承自多个接口的组件类
1:假设我们已经比较熟悉COM了(VS2005) 问题集合: 001:我要创建一个继承自多个接口的组件类用ATL"添加简单对象向"导->添加类->ATL->ATL简单对象用Atl向导生成的组件类默认之继承了一个接口类。假设组建类为CMathFt(Math不允许用作自定类名)那么它默认继承和实现的一个接口为IMathFt.如果此时希望另外添加一个接口,比如IAdvancedM
2009-03-25 11:03:00 2280 1
原创 D3DXMatrixPerspectiveFovLH参数fovy
1:透视投影矩阵的说明D3DXMATRIX * D3DXMatrixPerspectiveFovLH( D3DXMATRIX * pOut, FLOAT fovy, FLOAT Aspect, FLOAT zn, FLOAT zf);最难理解的参数:fovy通过调用D3DXMatrixPerspectiveFovLH得到的矩阵为xScale
2009-02-21 18:31:00 3010
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人