Jimmy

There's no royal road to learning. Just keep going.
私信 关注
JimmyHoo0000
码龄3年

There is no royal road to learning.

  • 92,471
    被访问量
  • 164
    原创文章
  • 41,544
    作者排名
  • 8
    粉丝数量
  • 于 2018-03-09 加入CSDN
获得成就
  • 获得63次点赞
  • 内容获得23次评论
  • 获得120次收藏
荣誉勋章
兴趣领域
  • #Android
    #Android Studio
TA的专栏
  • JD-GUI
    1篇
  • C#
    2篇
  • C/C++
    3篇
  • M0518
    9篇
  • raspberry
    2篇
  • Keil
    1篇
  • Android JNI
    23篇
  • win10系统相关
    1篇
  • VS2008开发
    22篇
  • 网站备忘录
    1篇
  • Android控件
    11篇
  • Android布局
    8篇
  • Android Gradle
    9篇
  • VS2013
    5篇
  • Andriod文件操作
    5篇
  • Windows-MinGW
    1篇
  • CreateInstall打包安装程序
    1篇
  • Android 版本发布
    1篇
  • Android KeyPress
    1篇
  • linux
    1篇
  • 通信方式
    1篇
  • AndroidStudio
    37篇
  • TinkerBoard rk3288开发
    8篇
  • UVCCamera
    6篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

c#编程之多线程操作之基本操作备忘

如题,本博客使用ThreadStart来实现多线程。1、声明一个多线程:Thread m_subThread = new Thread(new ThreadStart(函数名));代码示例:void ThreadFunc(){ //此处是线程要干的事情}Thread m_subThread = new Thread(new ThreadStart(ThreadFunc));m_subThread.IsBackground = true;2、开始线程:使用Start接
原创
70阅读
0评论
0点赞
发布博客于 6 月前

C语言编程 之 条件编译 备忘

条件编译常用的有#if, #ifdef,#ifndef等。本博客记录一下,如何根据某个参数值的不同,选择不同的分支来编译。使用 #if ... #elif ... #elif ... #else ... #endif直接附上DemoCode 架构,如下:#define YOUR_CHOICE 2#if 0 == YOUR_CHOICE //此处写出你想要执行的操作!#elif 1 == YOUR_CHOICE //此处写出你想要执行的操作!#elif 2 ==.
原创
58阅读
2评论
0点赞
发布博客于 6 月前

Nuvoton M0518 之 记录数据到LDROM,数据掉电不丢失的方式

目标:我想要使用M0518 ic来记录一些数据,这些数据在掉电之后不会丢失。重新上电后,还能获取到之前记录的数据。解决之道:void RecordData(int nData); 实现数据的记录void ReadRelativeZero(int *p_nData);实现数据的获取头文件RecordRead.h#ifndef __RECORD_READ_H_H_H#define __RECORD_READ_H_H_H#include <stdio.h>#include
原创
69阅读
0评论
0点赞
发布博客于 6 月前

树莓派linux系统连接上键盘,无法输入#和@字符,这是为什么呢?why

原因:默认情况下,树莓派linux系统的键盘布局是英国佬的键盘布局格式(UK)。而我们经常使用的键盘布局格式是美国佬的键盘格式(US)。所以导致了这个bug。解决之道:1、sudo apt install fcitx2、reboot3、选中右上角的键盘图标,鼠标右击 --> 选择Configure4、通过-删除之前的UK布局,通过+添加目前的US布局:---- The End....
原创
229阅读
0评论
1点赞
发布博客于 6 月前

Keil uVision5里面使用AStyle插件来完成代码格式化功能

Keil uVision5默认是没有代码格式化功能的,但是实际使用中,copy了其他地方的代码到本项目中,代码格式是乱的,看起来让人火大。这个时候使用AStyle来降火,瞬间心情愉快多了!1、下载AStyle插件相关文件。下载网址2、将下载下来的AStyle文件放到Keil uVision5安装目录下去。例如鄙人的电脑里面就是这样的,如下图所示:3、打开Keil uVision5,菜单栏Tools --> Customize Toos Menu...4、配置一下:【1.
原创
221阅读
0评论
0点赞
发布博客于 6 月前

树莓派Linux系统上播放视频

使用Python编程控制omxplayer播放视频的方式:1、安装omxplayersudo apt-get install omxplayer2、安装Python编程控制omxplayer所需要的依赖库文件sudo apt install git virtualenv build-essential python3-dev libdbus-glib-1-dev libgirepository1.0-dev3、使用pip或者pip3 install omxplayer库文件,下载地址
原创
240阅读
0评论
1点赞
发布博客于 6 月前

Android Studio开发之ndk报错--error: no template named ‘pair‘

错误详情:这个错误是在JNI层开发的时候,使用了string类型数据。举例如下:#include <string>using namespace std;#include <jni.h>extern "C"JNIEXPORT jstring JNICALLJava_com_example_demo001_Java_1Interface_GetHell(JNIEnv *env, jobject thiz) { // TODO: implement Get
原创
263阅读
0评论
0点赞
发布博客于 7 月前

Android Studio开发之报错-Compilation is not supported for following modules

报错详情:Compilation is not supported for following modules,........,Unfortunately you can’t have non-Gradle Java modules and Android-Gradle modules in one project解决方法:Android Studio的 File菜单--> Invalidate Caches / Restart...操作截图如下图所示---- The.
原创
4629阅读
0评论
3点赞
发布博客于 7 月前

UVCCamera项目中usbCameraTest运行时报错--java.lang.RuntimeException: Unable to start activity ComponentInfo

报错详情:Process: com.serenegiant.usbcameratest, PID: 4409java.lang.RuntimeException: Unable to start activity ComponentInfo{com.serenegiant.usbcameratest/com.serenegiant.usbcameratest.MainActivity}: android.view.InflateException: Binary XML file line #32: B
原创
146阅读
0评论
0点赞
发布博客于 7 月前

Android Studio4.0.0报错 -- 找不到android.support.v7.app.AppCompatActivity的类文件

1、解决方法 – 添加相应的库依赖即可:implementation ‘com.android.support:appcompat-v7:27.1.1’— The End.
原创
375阅读
0评论
0点赞
发布博客于 7 月前

UVCCamera工程无法下载com\serenegiant\common\2.12.4 -续作,引用本地aar包

1、UVCCamera\libuvccamera目录下新建一个Libs目录存放common-2.12.4.aar如下图所示:2、修改UVCCamera目录下的build.gradle文件,屏蔽无法下载的远程,改用本地仓库模式:2、修改UVCCamera\libuvccamera目录下的build.gradle文件:3、以usbCameraTest8工程为例,修改其目录下的build.gradle. 其他的类似。。。– The End....
原创
562阅读
0评论
1点赞
发布博客于 7 月前

Android studio 4.0.0 Build窗口显示乱码(中文显示乱码)解决方式

1、Help --> Edit Custom VM options…2、在文件中添加一句:-Dfile.encoding=UTF-8如下截图所示:3、重启Android studio即可。
原创
793阅读
0评论
0点赞
发布博客于 7 月前

UVCCamera工程无法下载com\serenegiant\common\2.12.4

离线下载com\serenegiant\common\2.12.4这个aar包可用的网络地址:https://gitee.com/liuchaoya/libcommon/tree/master/repository/com/serenegiant/common/2.12.2
原创
706阅读
0评论
1点赞
发布博客于 9 月前

C# 编程实现检测USB设备插拔 -- 升级版

序言:前篇博客的方式有些落伍,现对其进行升级。这种方式更加合理些。写下博客以备忘。希望可以帮助到一些有需要的同道中人!正文:protected: virtual void WndProc(System::Windows::Forms::Message% m) override { try { if (m.Msg == 0x21...
原创
197阅读
0评论
1点赞
发布博客于 1 年前

VS2008开发之模板化DLL

序言:使用VS2008开发DLL库模块化!正文:1、Jimmy_Math.h#pragma onceclass Jimmy_Math{public: Jimmy_Math(); ~Jimmy_Math(); int Add(int n1, int n2); int Sub(int n1, int n2); int Multiply(int n1, int n2)...
原创
123阅读
0评论
1点赞
发布博客于 1 年前

C# 编程实现检测USB设备插拔

序言:目前好点的程序,都有usb设备热插拔检测功能。为了适应大环境,同时也为了让自己的exe运行起来更加高大尚,我最近也学到了如何使用C#语言来实现这个功能。本博客分成2个部分。第一个部分是纯C#语言实现usb插拔检测,第二个部分是托管C++(cli)或者说是win32的窗体应用程序中也实现了usb插拔检测。【备注:使用VS2008开发平台实现的。】正文:第一部分:C#语言,Win...
原创
1560阅读
0评论
1点赞
发布博客于 1 年前

使用jd-gui.exe来修改jar包中的class,重新生成jar包

第一步:使用jd-gui.exe这个反编译工具,将需要修改的.class保存为.java(ctrl + s)1、打开jar包2、打开需要修改的.class3、保存当前打开的.class,菜单栏 File --> save 或者可以直接按键ctrl + s4、修改.java......5、编译.java得到.classcd C:\Users\Adminis...
原创
3289阅读
0评论
1点赞
发布博客于 1 年前

Android Studio开发之app安装执行错误---app_warp_tool:transformNativeLibsWithMergeJniLibsForDebug

问题详细描述:Error:Execution failed for task ':app_warp_tool:transformNativeLibsWithMergeJniLibsForDebug'.> Unexpected scopes found in folder 'E:\Android3_0_1\TWTool\app_warp_tool\build\intermediates\...
原创
248阅读
0评论
0点赞
发布博客于 2 年前

Android Studio开发之使用ToggleButton来实现AnimationDrawable动画的开始与停止

序言:这篇博客的主要目的是记录一下,在sdk-26 版本api上如何使用ToggleButton和AnimationDrawable来完成动画效果!正文:1、ToggleButton控件常用属性:android:textOn="停止"android:textOff="开始"2、通过ImageView控件来获取AnimationDrawable的引用。下面给出ImageVie...
原创
283阅读
0评论
1点赞
发布博客于 2 年前

我的一篇博客所用的动画图资.zip

Android Studio开发之使用ToggleButton来实现AnimationDrawable动画的开始与停止,这篇博客所使用的图资,仅供学习而已!有需要的朋友可以下载,其实实际开发还是要用自己的图资的!
zip
发布资源于 2 年前

Android Studio开发之UI界面优化---TextView控件实现跑马灯效果

序言:TextView控件宽度在固定情况下,有时候会出现显示不完整的case。指定android:layout_width="wrap_content"确实可以解决显示不完整的case,但是有时候却会破坏UI界面的美观!为此使用走马灯的效果就可以解决这个2难问题。写下此博客,以备忘!正文:1、在布局文件中配置TextView如下属性:android:text="BackGroun...
原创
671阅读
0评论
3点赞
发布博客于 2 年前

Android Studio开发之UI开发之横屏竖屏不同显示效果 -- 基础版

序言:不同的android设备,不同的显示风格。比如说手机属于竖屏设备,平板则属于横屏设备。如此UI设计的时候,需要考虑这个问题。于是乎,我就写了这篇入门级的示例。以备忘!正文:针对横屏竖屏分别设计不同的显示效果。其实就是新建layout-land目录,里面存放横屏UI设计;新建layout-port目录,里面存放竖屏UI设计。以新建layout-port为例:1、选中app这个目...
原创
900阅读
0评论
1点赞
发布博客于 2 年前

VS2008开发之MFC开发之修改exe图标

序言:使用VS2008进行MFC 对话框应用程序开发,我想要修改生成exe的图标,以及程序运行时候的图标。正文:第一步:先实现exe运行时候,窗口上显示我想要显示的新图标。【1】、导入你喜欢的ico文件资源:【2】、修改程序,xxxDlg.cpp文件中,比如我的就是Demo001Dlg.cpp,修改如下:// m_hIcon = AfxGetApp()->...
原创
214阅读
0评论
1点赞
发布博客于 2 年前

华硕TinkerBoard(rk3288处理器)开发之 Android7.1.2修改源码,让app可以调用su获取权限--上部

序言:修改Andorid7.1.2源码,让app可以调用/system/xbin/su这个su来获取相关文件的操作权限!正文:1、修改Android7.1.2/system/extras/su/su.c ,屏蔽如下代码:uid_t current_uid = getuid(); if (current_uid != AID_ROOT && current_u...
原创
498阅读
0评论
2点赞
发布博客于 2 年前

Android Studio开发之控件开发之ListView使用示例

序言:本博客记录一下,如何使用ListView来显示一张图片加上一个文本说明。备注:这样的模式UI可以用来当主工程UI,其每个子项用来打开一个附属Library模块的Activity。我觉得这样就不错,当然界面显示没有那么丰富了。不过我想要的功能确实可以实现。写下该博客,以备忘!正文:1、activitity_main.xml布局文件:<?xml version="1.0"...
原创
353阅读
0评论
1点赞
发布博客于 2 年前

fruit图资.rar

Android Studio开发之控件开发之ListView使用示例这个博客所需要用到的图资。希望可以减少初学者,自己去找图标的繁琐步骤。
rar
发布资源于 2 年前

Android Studio开发之获取Apk相关版本信息

序言:本博客备忘一下,如何获取Apk的app名称,包名以及VersonName等等信息!将这些方式封装成类,并给出调用示例。希望可以帮助到一些同道中人。正文:1、类的封装,直接附上源码:类名:Jimmy_Apk_Utilspackage com.terawins.www.ndk_file_test;import android.content.Context;im...
原创
394阅读
0评论
1点赞
发布博客于 2 年前

Android Studio开发之Gradle配置格式化---升级1

序言:此博客记录一下,如何将Gradle参数格式化,以便于日后的升级移植等操作!正文:基础版:https://blog.csdn.net/qq_41811438/article/details/103548055此处使用工程中的2个build.gradle文件来完成,这个比基础版的要好用,也好记!1、配置工程根目录下的build.gradle文件,如下://Jimmy-f...
原创
221阅读
0评论
1点赞
发布博客于 2 年前

Android Studio开发之Gradle配置格式化---基础版

序言:今天发现原来Gradle配置还有这么高级的玩法,记录一下,以备忘!备注:我使用的Android Studio版本是3.0.1正文:利用build.gradle文件和gradle.properties两个文件实现的!1、gradle.properties文件在工程根目录下!给出我的示例:# Project-wide Gradle settings.# IDE (e.g...
原创
364阅读
0评论
1点赞
发布博客于 2 年前

Android Studio开发之修改app标题栏

非常简单,就一句代码:this.setTitle("JimmyTest");https://blog.csdn.net/qq_41811438/article/details/103541403该博客确实实现了将2个APK合成1个了。不过有一个bug,那就是跳转之后apk的标题依然显示的Demo004_Main工程里面设定的名称。我想要跳转到Demo005这个附属Library模块的Ac...
原创
2690阅读
0评论
4点赞
发布博客于 2 年前

Android Studio 开发之 合并2个独立的AS工程为1个,其中一个为主工程,另一个为附属Library模块 -- 最终版

借鉴之前的三个博客的实现,在这些都搞明白的基础上,我终于得到了自己想要实现的功能了。写此博客主要是记录一下,以备忘!基础版:https://blog.csdn.net/qq_41811438/article/details/103537447升级1版:https://blog.csdn.net/qq_41811438/article/details/103538443升级2版:http...
原创
929阅读
4评论
3点赞
发布博客于 2 年前

Android Studio开发之将两个AS工程,一个做主工程,另一个做其library -- 升级2

在下面这篇博客的基础上进行升级操作。将两个不同的apk合并成一个apk,其中一个工程做主Activity,另一个做其附属Library模块。从主Activity可以跳转到其附属Library模块的Activity中去。https://blog.csdn.net/qq_41811438/article/details/1035374471、将XListView这个工程设定为Demo003的附...
原创
237阅读
0评论
0点赞
发布博客于 2 年前

Android Studio开发之从一个工程的Activity跳转到另一个工程的Activity中去 -- 升级1

两个独立工程apk之间的跳转,备注:两个Apk都已经安装过了!在下面这个博客的基础上进行开发的!https://blog.csdn.net/qq_41811438/article/details/103537447使用Intent来进行的。我在Demo003这个工程中,写代码启动XListView这个apk。没有什么好说的了,直接附上源码示例:public void OnTest...
原创
377阅读
0评论
1点赞
发布博客于 2 年前

Android Studio开发之将一个Eclipse开发的工程导入到一个AS开发的工程中去 --- 基础版

本博客记录一下,如何将一个Eclipse开发的工程导入到一个AS开发的工程中去,这样AS工程中就有了两个工程,它们之间是相互独立的。不过导入的Eclipse工程将和现有的AS公用gradle,我们只需要修改一下导入的Eclipse开发的工程的build.gradle和AndroidManifest.xml文件即可。感觉很方便!1、我选择了使用GitHub上的XListView工程来做实验。从h...
原创
200阅读
0评论
1点赞
发布博客于 2 年前

VS2008窗体应用程序工程 之 让Relese版本变成“Debug版本一样的效果”

备忘一下:如何动态加载dll的方式来实现release版本在没有安装VS2008的电脑上运行exe!1、配置:配置属性 --》 c/c++ --》代码生成 ---》运行时库2、在exe生成所在位置,添加所需的dll库:VS2008安装目录下的位置为:Microsoft Visual Studio 9.0\VC\redist\Debug_NonRedist\x86\Microsoft.V...
原创
58阅读
0评论
0点赞
发布博客于 2 年前

Android Studio开发之JNI开发之 SPI开发报错

报错信息:Error:(42, 21) error: unexpected type name '__u8': expected expression备注:我使用ndk-r16b版本进行编译相关的SPI代码。主要是下面这句代码出错:ioctl(fd, SPI_IOC_WR_MODE, &mode)截图://解决方式:更换ndk版本,使用ndk-r20.重新...
原创
168阅读
2评论
0点赞
发布博客于 2 年前

Android Studio开发之使用ndk-r20版本出错

1、直接从网上load下来的ndk-20版本,在使用的时候报错:Error:A problem occurred configuring project ':app'. > No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android解决方式:从ndk-16...
原创
243阅读
0评论
0点赞
发布博客于 2 年前

VS2008窗体应用程序工程 之 vector使用示例 -- 升级功能,使用find

1、使用数组方式来给vector变量赋值。头文件:#include <vector>using namespace std;示例:vector <int> vectorL;int szBuf[2] = {3, 8};vectorL.reserve(2);vectorL.assign(&szBuf[0], &szBuf[2]);/...
原创
50阅读
0评论
0点赞
发布博客于 2 年前

VS2008窗体应用程序工程 之 vector使用示例 -- 简单功能

1、包含头文件:#include <vector>using namespace std;2、使用示例:vector<int> vi;int nLen = 5;for (int i = 0; i < nLen; i++){ vi.push_back(i + 1);}int nSum = 0;for (vector<int>...
原创
66阅读
0评论
0点赞
发布博客于 2 年前

VS2013Form窗体工程应用程序开发之openFileDialog控件方式来操作打开文件对话框

1、在工程中添加openFileDialog控件:2、修改一下控件对象的名称,让人感觉好像调用系统函数一样!3、在OpenFile这个按钮的响应函数中示例一下:private: System::Void btn_openFile_Click(System::Object^ sender, System::EventArgs^ e) { openFileDialog-&g...
原创
351阅读
0评论
1点赞
发布博客于 2 年前

VS2013Form窗体工程应用程序开发之GDI绘图开发之 ---- 在pictureBox控件中绘图,升级写法

基础版:https://blog.csdn.net/qq_41811438/article/details/103436055原来在域名中,只需要加上extern "C"修饰符,函数声明完全可以使用原来的就好!!头文件还是要包含的:#include "windows.h"我的示例源码:namespace JIMMY_GDI_API{ using namespace Syste...
原创
103阅读
0评论
0点赞
发布博客于 2 年前

VS2013Form窗体工程应用程序开发之GDI绘图开发之 ---- 在pictureBox控件中绘图

备注:最后一个参数使用的是:SRCCOPY1、bool StretchBlt(HDC hdcDest, int xDest, int yDest, int wDest, int hDest, HDC hdcSrc, int xSrc, int ySrc, int wSrc, int hSrc, DWORD rop);这个会进行缩放。2、bool BitBlt(HDC hdc, int x,...
原创
349阅读
0评论
0点赞
发布博客于 2 年前

VS2013新建一个win32的Form窗体工程应用程序, 升级版

使用传参方式来把窗体显示出来。传参使用%符号来实现的!备注:基于https://blog.csdn.net/qq_41811438/article/details/103420701这个基础版在MyForm.cpp中修改如下:[STAThreadAttribute]int main(array<System::String ^> ^args){ Applicati...
原创
40阅读
0评论
0点赞
发布博客于 2 年前

VS2013新建一个win32的Form窗体工程应用程序,好处使用C#类似的Form窗体

1、新建一个win32空项目。2、给工程添加Form窗体,然后你就可以类似C#中处理各种UI控件了。我觉得很好用。3、在MyForm.cpp里面添加如下代码:using namespace DemoForm;[STAThreadAttribute]int main(array<System::String ^> ^args){ Appli...
原创
225阅读
0评论
0点赞
发布博客于 2 年前

Android Studio开发之断点调试之查看数据的16进制显示

如题,我就是要查看当前变量的十六进制值是多少?默认情况下显示的十进制数据,怎么办?解决方法:简单。如下截图所示:如此,就可以查看16进制显示的模样了。如下:---- The End....
原创
337阅读
0评论
0点赞
发布博客于 2 年前

Android Studio 开发之 控件开发之Spinner使用示例 -- 升级版

1、layout布局中添加:<Spinner android:id="@+id/spin_test" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="50dp" ...
原创
178阅读
0评论
0点赞
发布博客于 2 年前

C/C++编程技巧 --- Hex data 转 Bin data

说明:将16进制数据的Hex data格式转换成Bin data格式。比如:Hex data : 313233383439Bin data:123849直接附上源码:// Hex data to Bin data int Hex2Bin(char[] pszBin, char[] pszHex, int nLenHex) { int nLenBin = 0; f...
原创
184阅读
0评论
1点赞
发布博客于 2 年前

Android Studio开发之JNI开发 ---- 使用cmake方式来完成之前的Android.mk和Application.mk的功能,方式3(最终版)

序言基础版:https://blog.csdn.net/qq_41811438/article/details/103323128升级版:https://blog.csdn.net/qq_41811438/article/details/103323497这篇文章主要是在升级版的基础上,进行完善。目前我觉得这样的配置已经够用了。以此作为最终版,以备忘。正文1、CMakeLis...
原创
186阅读
0评论
2点赞
发布博客于 2 年前

Android Studio开发之JNI开发 ---- 使用cmake方式来完成之前的Android.mk和Application.mk的功能,方式2(升级版)

基础版:https://blog.csdn.net/qq_41811438/article/details/103323128这里主要是在基础版的基础上,添加了指定so库生成位置,以及生成某种特定cpu架构的so库。1、CMakeLists.txt源码:cmake_minimum_required(VERSION 3.4.1)set(LOCAL_MODULE DemoTes...
原创
65阅读
0评论
0点赞
发布博客于 2 年前

Android Studio开发之JNI开发 ---- 使用cmake方式来完成之前的Android.mk和Application.mk的功能,方式1(基础版)

如题,现在就是要使用比较流行的cmake方式来完成so库开发,之前使用的是Andorid.mk和Application.mk的方式来生成so库的。方式比较老套,之前使用Andorid.mk和Application.mk的方式习惯了,现在将cmake的方式进行了部分修正,方便习惯自己的老思路。1、在app/src/main/目录下,新建一个jni文件夹。里面存放一个JNI.cpp和一个CMake...
原创
207阅读
0评论
1点赞
发布博客于 2 年前

Android Studio开发之gradle -- 解决打开不同版本的AS项目的时候gradle build速度慢或者失败的问题!(升级方式)

问题描述:使用本地Android Studio打开另一个不同版本的Android Studio产生的工程,经常会出现gradle非常慢,或者就直接gradle失败了。解决之道:其实很简单,只是一直没有发现。只需要使用本地Android Studio的默认gradle配置就好了。两步即可完成。第一步:第二步:---- The End....
原创
180阅读
0评论
1点赞
发布博客于 2 年前

Android Studio开发之JNI层开发 --- jni层返回二维数组对象

说明:本博客记录一下,jni层返回二维PointF对象数组。1、Java层接口定义:public native PointF[][] GetMultiArrayPf();2、JNI层实现:extern "C"JNIEXPORT jobjectArray JNICALLJava_com_terawins_www_demo007_Java_1Interface_GetMulti...
原创
189阅读
0评论
1点赞
发布博客于 2 年前

Android Studio 开发之JNI开发 -- jni层返回一维对象数组

说明:本博客记录一下,如何将JNI层的PointF类对象数组返回给Java层,是一维数组的。1、Java层接口定义:public native PointF[] GetArrayPf();2、JNI层实现:extern "C"JNIEXPORT jobjectArray JNICALLJava_com_terawins_www_demo007_Java_1Interface...
原创
223阅读
0评论
0点赞
发布博客于 2 年前

Android Studio开发之Java层开发文件操作 --- 读取External SD card上的bmp图片显示到ImageView控件上

1、获取SDcard上的图片对象Bitmap//获取External SD card图片public Bitmap GetExternalSD_bmp(String strFilePath) { try { FileInputStream fis = new FileInputStream(strFilePath); return BitmapFac...
原创
120阅读
0评论
1点赞
发布博客于 2 年前

Android Studio开发之Java层开发之读写External SD card文件

1、在MainActivity.java中获取External SD card文件的读写操作权限。在onCreate中调用:GetExternalStoragePermission();来获取权限//External SD card void GetExternalStoragePermission() { if(!CheckExternalStorage...
原创
76阅读
0评论
0点赞
发布博客于 2 年前

Android Studio开发之 ---- 代码提示技巧

默认情况下,AS代码提示是,只有第一个字母对上的才会提示。比如说TextView,你输入T,有提示,但是你输入t则没有提示。这样的话,我觉得不太方便。于是乎我就发现了,配置一下AS,这样她就大小写不敏感,这样她提示的就比较全面了,起码满足我的需要了。---- The End....
原创
89阅读
1评论
0点赞
发布博客于 2 年前

Android Studio开发之JNI开发 ---- string类方法使用

功能:已知一个文件的绝对路径,在这个目录下新建一个和原来文件名称相关的固定格式的新文件。举例:在/sdcard/00Demo/这个目录下有一个JimmyTest.txt, 我现在要在/sdcard/00Demo/这个目录下新建一个JimmyTest_byte_4200_test.iml2文件。该博客就是帮助你由/sdcard/00Demo/JimmyTest.txt 得到/sdcard/00...
原创
96阅读
0评论
0点赞
发布博客于 2 年前

C/C++ 改变编译器的字节对齐方式

1、#pragma pack (n)这句指令,指定编译器按照n个字节对齐方式来存放数据。这个会影响struct结构体的占用空间。2、#pragma pack ()使用默认的对齐方式。3、根据程序需要,在适当的时候使用一种特别的n个字节对齐,然后恢复之前的对齐方式。#pragma pack (push,n)/////do your work#pragma pack(...
原创
170阅读
0评论
0点赞
发布博客于 2 年前

Android Studio开发之 JNI层 (ndk)实现对 External SD Card 文件读写操作

1、MainActivity.java源码:package com.terawins.www.jni_file_externalsd;import android.content.pm.PackageManager;import android.os.Environment;import android.support.v4.app.ActivityCompat;import an...
原创
341阅读
0评论
1点赞
发布博客于 2 年前

Android Studio开发之Device File Explorer使用备忘

1、查看已连接的安卓设备文件,通过View --》Tool Windows --》Device File Explorer2、这是一个已经连接上本地PC的一个安卓设备文件目录:3、刷新文件:右击选中的文件,选择Synchronize备注:图中的Copy Path就是将当前选中的文件目录复制出来,这样就方便使用adb pull指令来完成将该文件复制到本地PC上查看了。操作截图:...
原创
655阅读
0评论
0点赞
发布博客于 2 年前

Android Studio开发之JNI层开发 ---- 读取assets目录下的文件

1、首先在src/main目录下新建一个assets文件夹,在其中放上你需要使用的文件。我的示例截图:2、JNI接口定义(.java):import android.content.res.AssetManager;public native int AssetsFileRead(AssetManager assetManager);3、JNI层实现(.cpp)#incl...
原创
460阅读
0评论
0点赞
发布博客于 2 年前

Android Studio开发之JNI层操作Bitmap图像

备忘Linux下对Bitmap文件简单操作!Bitmap头文件://// Created by Administrator on 2019/11/20.//#ifndef LIGHTNINGWARPTOOL_JIMMY_BITMAP_H#define LIGHTNINGWARPTOOL_JIMMY_BITMAP_H#include <stdio.h>type...
原创
145阅读
0评论
0点赞
发布博客于 2 年前

VS2008开发之使用IrisSkin2.dll来实现换肤功能,在win10系统上运行bug

1、如果你是用IrisSkin2.dll开发的工程是一个exe文件的主窗口,那么你不会遇到该博客说明的情况。可以直接skip。如果你的这个工程是生成一个类库,让其他工程调用的话,那么你可能会遇到这个奇葩的事情。2、IrisSkin2.dll使用方式:参考这篇博客:https://blog.csdn.net/qq_41811438/article/details/1030974913、bug...
原创
68阅读
0评论
0点赞
发布博客于 2 年前

Android Studio开发之JNI层操作文件(华硕开发板Android7.1.2系统上测试)

对/storage目录下文件进行操作。备注:1、 PC端可以通过adb push将文件弄到这个目录下。指令如下:adb push “绝对路径+文件名称” /storage其他路径像/mnt/sdcard , /storage/self/ 都是不能正常操作的,因为权限不够!!!2、操作的文件必须是存在的,不然fopen就是会失败(原因不祥,不知道是不是华硕开发板android系统版本...
原创
77阅读
0评论
0点赞
发布博客于 2 年前

Android Studio开发之JNI开发 ---- 使用new 和delete来完成任务注意事项

有两种情形1、单个对象:先new,然后delete。示例如下:int *pData = NULL;pData = new int;........delete pData;pData = NULL;2、多个对象(数组):先new,然后delete[]。示例如下:byte *pszData = NULL;int nLen = 38;pszData = new byte...
原创
145阅读
0评论
0点赞
发布博客于 2 年前

Android Studio开发之JNI操作 ---- 将一个int型数据转成指定位数的二进制字符串

目前我知道有两种方式。第一种:使用STL中的bitset类来完成。1、因为是在Android的JNI层实现,所以需要在Application.mk里面配置STL库的加载。Application.mk里面添加配置如下:APP_STL := c++_static2、在JNI层的操作.cpp文件中这样操作:#include <bitset>#include &...
原创
127阅读
2评论
0点赞
发布博客于 2 年前

Android Studio开发之Android.mk文件升级写法备忘

1、在Android.mk文件中可以打印一些信息,非常便于理解。有三种方式:$(info "HelloWorld") #打印信息 $(warning "HelloWorld") #打印信息 $(error "HelloWorld") #打印信息 2、下面给出我的Android.mk文件源码示例:LOCAL_PATH := $(call my-dir)include $...
原创
142阅读
0评论
0点赞
发布博客于 2 年前

Android Studio开发之使用STL这个C++常用的东东

1、在jni目录下,添加Application.mk文件,直接附上源码:# APP_ABI := armeabi-v7a 这里设置是无效的,必须在app目录下的build.gradle设定 ndk{}# APP_STL := stlport_staticAPP_STL := c++_static #推荐使用,功能更强大!!!备注:其中APP_STL := c++_static 就...
原创
361阅读
0评论
0点赞
发布博客于 2 年前

mingw-get-setup.7z

这个是window平台下安装mingw的安装向导,可以帮助你安装mingw工具到你的电脑上,那么你就可以使用了。像gcc g++ make等,不过这里的主要目的是使用其中的nm指令来完成对so库函数的查询,当然也可以根据需要使用objdump等等其他指令了。反正就是安装了,用起来比较方便。可以直接在window平台下生成linux平台下可以用的exe,so等等。
7z
发布资源于 2 年前

VS2008开发之使用.def文件来生成dll库文件

说明:有了.def文件,其实就不需要用dll库对应的头文件了。而且.def文件其实主要是给显示加载dll时候用的,即是利用LoadLibrary、GetProcAddress和FreeLibrary三部曲来完成第三方dll库的使用。只需要dll库,不需要头文件和.lib文件的一种机制。1、新建一个dll工程2、添加一个cpp文件来实现dll库的接口功能直接附上我的测试源码:...
原创
225阅读
0评论
0点赞
发布博客于 2 年前

VS2008开发之静态加载第三方dll库(需要.dll, .lib,以及.h文件)

1、第三方dll库文件的头文件路径配置:2、第三方dll库文件的依赖文件(.lib文件)的配置:3、至于dll文件,需要放在调用dll的exe文件所在目录!!!!!!!!!!!---- The End....
原创
108阅读
0评论
0点赞
发布博客于 2 年前

VS2008开发之使用dumpbin指令来查看dll库文件接口函数名称

1、打开Visual Studio 2008 命令提示2、dumpbin -exports "DLL文件所在绝对路径"备注:可以通过鼠标直接将dll文件拖进dos窗口,这样比较方便,不用手动输入那么冗长的绝对路径!!!---- The End....
原创
63阅读
0评论
0点赞
发布博客于 2 年前

VS2008开发之生成dll工程,并且调用其中的库函数示例

1、新建一个dll工程2、新建一个class类来完成自己的dll函数接口封装3、在类的头文件中,定义dll导出宏#ifdef JIMMY_MATH_DLL_EXPORTS#define JIMMY_MATH_API __declspec(dllexport)#else#define JIMMY_MATH_API __declspec(dllimport)#...
原创
105阅读
0评论
0点赞
发布博客于 2 年前

VS2008开发之宽字符集和多字节字符集之间的相互转换

1、需要包含头文件:#include <atlstr.h>2、将宽字符集(Unicode)转化为多字符集(ASCII),使用CW2A3、将多字符集(ASCII)转化为宽字符集(Unicode),使用CA2W CA2W("Test_DLL_Demo001.dll")备注,顺便给出,动态加载dll的方式:HINSTANCE hDll_Test_D...
原创
106阅读
0评论
1点赞
发布博客于 2 年前

IrisSkin2_UI开发.rar

IrisSkin2_UI开发.rar文档中,包含了IrisSkin2.dll文件,这个是用来完成winform窗体换皮肤的接口函数。其中还有一些ssk文件,这个就是实际用来将winform窗体不同控件绘制成什么样子的模子。使用起来比较方便,使用方式见我的博客:https://blog.csdn.net/qq_41811438/article/details/103097491
rar
发布资源于 2 年前

VS2008开发之UI设计 ---- 使用IrisSkin2.dll及相关的ssk皮肤文件来完成界面优化

1、下载IrisSkin2.dll这个库文件以及皮肤文件(如果你感兴趣,可以自己创作好的ssk皮肤文件)。我把自己喜欢的几个ssk文件以及IrisSkin2.dll打包放到附件资源中去了,解压密码:jimmy2、在VS2008工程的工具箱中添加IrisSkin2.dll,这样它就变成一个控件了,用起来方便多了。如截图所示:接着使用SKinEngine这个控件来实现换皮肤...
原创
163阅读
0评论
0点赞
发布博客于 2 年前

Windows下将exe及其dll文件打包成安装包文件 ---- 使用CreateInstall

1、请下载附件中的CreateInstall打包软件,或者直接去找度娘下载。备注:附件文件(CreateInstall.7z)解压密码:jimmy2、下面就给出操作步骤截图:备注:点击安装上面的安装程序包过程---- The End....
原创
1213阅读
2评论
2点赞
发布博客于 2 年前

Android Studio 开发值Button点击事件监听四种方式汇总备忘

1、匿名监听方式:private Button btn_test = null;btn_test = findViewById(R.id.btn_test);btn_test.setOnClickListener(new View.OnClickListener() {@Override public void onClick(View v) { tv_show...
原创
378阅读
0评论
0点赞
发布博客于 2 年前

华硕TinkerBoard(rk3288处理器)开发之 Android7.1.2源码中的常见宏定义 ---- 备忘录

$(PRODUCT_OUT) ---> out/target/product/rk3288$(TARGET_OUT) ----> out/target/product/rk3288/system$(TARGET_ROOT_OUT) ---->out/target/product/rk3288/root$(TARGET_OUT_EXECUTABLES) --...
原创
85阅读
0评论
0点赞
发布博客于 2 年前

Android 源码单独编译某个模块(含Android.mk的文件夹)

1、在Android源码的根目录下,执行source build/envsetup.sh2、mmm system/extras/su3、make snod如此操作之后就得到了新的system.img。---- The End.
原创
1078阅读
0评论
0点赞
发布博客于 2 年前

Android Studio开发之 从Java层传参数到JNI层

如题:1、新建一个Java层的class来做测试 传递对象,将一个int类型数据和一个byte数组数据传到JNI去玩耍!package com.example.android_params;public class Jimmy_Params { int nID; byte []szSrc;}2、JNI接口类:package com.example.and...
原创
135阅读
0评论
0点赞
发布博客于 2 年前

Android Studio开发之 调试JNI源代码

1、Run --> Edit Configuratons...2-3、如截图所示:、4、配置如下所示:5、设置好断点,按键Shift + F9,进行调试咯。。备注:---- The End....
原创
124阅读
0评论
0点赞
发布博客于 2 年前

Android Studio开发之Android.mk写法新大陆 ---- 使用wildcard来获取JNI所需的.c和.cpp文件

不废话了,直接给出Android.mk文件的源代码:LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_C_INCLUDES += $(LOCAL_PATH)/MathDemoJimmy_src_files := $(wildcard $(LOCAL_PATH)/*.cpp)Jimmy_src_files += $(wild...
原创
262阅读
0评论
0点赞
发布博客于 2 年前

Android Studio开发之Button控件写代码获取焦点

假设现在有一个Button对象 ,btn_pointH。那么我们想以写代码的方式来让其得到焦点,只需要如下两句代码即可:btn_pointH.setFocusable(true);//for KeyPress Eventbtn_pointH.requestFocus();---- The End....
原创
314阅读
0评论
0点赞
发布博客于 2 年前

Android Studio开发之 ConstraintLayout布局个人经典Demo

这个布局,个人觉得挺好的,以后需要直接回去copy。谨以此备忘!直接附上xml文件源代码,不废话咯。<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/...
原创
108阅读
0评论
0点赞
发布博客于 2 年前

Android Studio开发之 androidx.constraintlayout.widget.ConstraintLayout 常用操作备忘录

下面给出了屏幕设计的左上,右上,左下,右下 ..等常用的UI设计用法,仅以此备忘。<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/androi...
原创
5380阅读
2评论
2点赞
发布博客于 2 年前

Android Studio 开发之 报错:错误: 程序包okhttp3不存在

解决方式,修改app目录下的build.gradle文件中dependencies里面添加下面一句代码,导入这个库就好了compile 'com.squareup.okhttp3:okhttp:3.4.1'截图如下:---- The End....
原创
2310阅读
0评论
3点赞
发布博客于 2 年前

Android Studio 开发之 CheckBox开发使用示例

1、布局文件:<CheckBox android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/cb_dfOn" android:text="ON" />2、使用方式:private...
原创
354阅读
0评论
0点赞
发布博客于 2 年前

Android Studio 开发之SeekBar开发使用示例

1、布局文件:<SeekBar android:layout_width="450dp" android:layout_height="wrap_content" android:id="@+id/sb_hCalibration" android:max="90"/>2、使用方法:private SeekBar sb_hCalibrati...
原创
562阅读
0评论
0点赞
发布博客于 2 年前

Android Studio 开发之RadioButton开发之使用示例

1、布局文件:<RadioGroup android:id="@+id/rg_communication" android:layout_width="wrap_content" android:layout_height="wrap_content" and...
原创
137阅读
0评论
0点赞
发布博客于 2 年前

Android Studio 开发之 控件开发之Spinner使用示例

Spinner 类似于windows下的Combox控件,下拉列表1、在src/main/res/values/strings.xml中添加所需的string-array:<resources> <string name="app_name">T613Ctrl_Demo</string> <string-array name="s...
原创
597阅读
0评论
0点赞
发布博客于 2 年前

win10 系统下优盘突然有一天插上去识别不了了,这个时候怎么办呢?

问题描述:如题。解决方式:第一步:点击屏幕右下方的“显示隐藏的图标”(向上的半个箭头),如下图所示:第二步:点击“安全删除硬件并弹出媒体”,如下图所示:第三步:点击“打开设备和打印机(o)”,如下图所示:如下图系列操作:最后重新插拔一次优盘,这样就可以正常使用了。---- The End。...
原创
247阅读
0评论
0点赞
发布博客于 2 年前

Android开发 ---- 使用Android Studio进行开发经常使用的网站集锦

1、Android Studio各个版本下载网站:https://www.androiddevtools.cn/2、Gradle 各个版本下载网站:https://services.gradle.org/distributions/3、图标下载网站:https://www.easyicon.net/4、GitHub真是个好地方,里面有很多开源demo,点赞赞赞 !!!...
原创
104阅读
0评论
1点赞
发布博客于 2 年前

window下安装MinGW工具来查看一个so库中的接口函数列表

第一部分:安装MinGW这个工具(附上我上传的安装索引软件位置:https://download.csdn.net/download/qq_41811438/11982136文件解压密码:jimmy;没有积分的同事请直接百度搜索下载也行mingw-get-setup.exe)第二部分:配置一下环境变量,方便使用:第三部分:使用nm指令来查看so库函数列表cd D...
原创
221阅读
0评论
0点赞
发布博客于 2 年前

Android Studio 开发之 AS3.5.1 工程根目录下的build.gradle文件格式

该博客主要目的是备忘一下,android studio 3.5.1版本使用的gradle-5.4.1-all的正规配置:1、工程根目录下的build.gradle, 配置如下:// Top-level build file where you can add configuration options common to all sub-projects/modules.builds...
原创
530阅读
3评论
0点赞
发布博客于 2 年前

Android Studio 开发之使用AS3.5.1打开一个低版本AS生成的工程 --- 解决gradle build问题

第一步:打开AS,通过“Open an existing Android Studio project”方式打开工程,截图如下:第二步:配置gradle版本第三步:配置sdk版本:第四步:更改依赖库:第五步:成功解决了所有gradle问题。---- The End....
原创
1402阅读
2评论
2点赞
发布博客于 2 年前

Android Studio开发之 Fragment子类中使用ArrayAdapter

Fragment子类中使用ArrayAdapter中的Context参数获取有三种方式:第一种:getActivity() -- 最方便的方式,推荐使用。第二种:使用inflater.inflate()方式得到的view对象获取。view.getContext()。第三种:使用onCreateView从上层传过来的ViewGroup类型的container对象来获取,contain...
原创
866阅读
0评论
3点赞
发布博客于 2 年前

Android Studio开发之TabLayout和ViewPager一起使用完成标签页功能

第一步:在activity_main里面添加android.support.design.widget.TabLayout 和android.support.v4.view.ViewPager,直接附上源码如下:<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://sche...
原创
1254阅读
0评论
0点赞
发布博客于 2 年前

Android Studio开发之JNI ---- 加载调用第三方so库

第一步:在src/main/ 目录下新建一个jni文件夹:如此操作后,就有了src/main/jni这个目录了。第二步:在jni文件里面添加一个Android.mk文件以及第三方so库及其头文件:第三步:编写Android.mk,源码如下:LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE ...
原创
777阅读
0评论
0点赞
发布博客于 2 年前

Android Studio开发之按键响应事件 ---- (up,down,left,right ...)

就是在MainActivity 这个class中重写onKeyDown接口接口,不废话了,直接附上源码:(按照自己的实际需求修改的)//KeyPressDown Event, up, down, left, right ... @Override public boolean onKeyDown(int kCode, KeyEvent kEvent) { ...
原创
421阅读
0评论
0点赞
发布博客于 2 年前