android
文章平均质量分 53
王者无双
求真务实,开拓创新,勇于探索
展开
-
jni编译
检查gradle文件都正常,CMakeLists文件都正常,编译都正常,无奈下,查看其它正常的带JNI代码的工程配置,检查是否一样,倒是看到一些不一样的地方,ndk的 编译版本不一致,只能先改成一致。就是修改c文件后(该文件在module中),加了行日志,运行androidstudio工程,但是并没有打印出我增加的日志,但是工程仍然正常运行,十分不理解。这些信息都改成一致了,但是还是编译正常,运行正常,但是就是不打印加的那行日志,实在不理解。然后删掉这个so,重新编译,运行,果然打印那行日志了。原创 2023-05-06 15:28:41 · 750 阅读 · 0 评论 -
UVC Camera简单介绍
UVCCamera简单介绍原创 2022-08-10 18:43:29 · 6184 阅读 · 0 评论 -
UVCCamera基本库介绍
UVCCamera是usb摄像头的一个开源库,库主要有三部分组成,一个是libuvccamera,一个是usbCameraCommon,另一个是调用demo程序usbCameraTest。如下图所示:如上图,libuvccamera库是基础库,主要包括USB设备的扫描,设备,驱动,监控等。CameraDialog主要完成usb设备的扫描过滤展示,展示结果放在listview中。UsbMonitor主要完成设备的连接断开,扫描等。DeviceFilter主要是设备的过滤,解..原创 2021-11-16 10:53:06 · 4743 阅读 · 0 评论 -
UVCcamera扫描device并展示的过程
UVCCamera工程中的测试用例,一般会开头扫描usb设备,这里以Test5 中的MainActivity为例说明,其实其他也一样。进入Activity一般是黑屏,在左上角有一个按钮,这个按钮点击后会打开一个dialog样式的activity,来供选择自己需要操作的usb设备,一般选择依据是通过设备的pid,vid来选择,前提是这个设备需要是支持UVC协议的摄像头,否则即使选了也不能预览摄像头画面。 private final CompoundButton.OnCheckedChangeList原创 2021-11-05 17:29:54 · 845 阅读 · 0 评论 -
android10 写日志文件
将日志信息content写入本地外置存储卡:代码比较简单,需要注意的是在构造FileWriter 的时候需要使用new FileWriter(name.getAbsolutePath(), true)而不能使用new FileWriter(name.getName(), true)。路径需要是全路径。后面的true是追加模式,用false则为覆盖模式。代码如下: private static String curDate = "20211102"; private static fina原创 2021-11-02 16:43:15 · 1750 阅读 · 0 评论 -
C# 使用udp实现消息的接收和发送
代码比较简单,但是别忘记关闭防火墙进行测试。首先便是服务端,使用Socket进行实现,参考代码如下: private static Socket udpServer; static void startUdpReceive() { Console.WriteLine("------startUdpReceive--"); udpServer = new Socket(AddressFamily.Inter原创 2021-09-06 17:11:35 · 10410 阅读 · 0 评论 -
UnsatisfiedLinkError: dlopen failed: so: has text relocations
public final class HttpRequestUtil{ /** * HttpRequestUtil自己 */ private static HttpRequestUtil mUtil = new HttpRequestUtil(); /** * */ private Ht原创 2021-07-30 14:00:08 · 424 阅读 · 0 评论 -
failed linking file resources
对于这个错误,一般是资源有问题导致,这里按照这个思路来解决,一般是整理代码的时候,把图片,xml,或者res下的其他资源给动了,导致资源出现了问题,见下图:解决办法是找到哪里有错误了:点击Build :failed 。。。那一行即可在右边看到错误具体详情,见下图所示,可以在右边看到具体的错误内容:然后修改后,再次编译即可。...原创 2021-07-07 18:30:59 · 870 阅读 · 0 评论 -
Device File Explore 显示 nothing to show
设备已root,用usb线插电脑上,会弹出选项,选择了查看文件后,就在AndroidStudio中看不到文件目录结构了。网上搜了搜,说是打开了root权限,要关闭,就是下载一个SuperSU的apk,然后关闭SU权限,参考链接:https://stackoverflow.com/questions/46461475/android-studio-3-all-versions-device-file-explorer-nothing-to-show具体内容见下:After struggling原创 2021-07-01 10:23:38 · 807 阅读 · 0 评论 -
New Gradle Sync is not supported due to containing Kotlin modules using an unsupported plugin versio
androidstudio导入别人的代码后编译报错:New Gradle Sync is not supported due to containing Kotlin modules using an unsupported plugin version看错误提示应该是kotlin版本不兼容问题导致无法完成Gradle构建。于是搜索到这个文章:https://fluttercorner.com/new-gradle-sync-is-not-supported-due-to-containing-原创 2021-04-14 10:23:21 · 1815 阅读 · 0 评论 -
形成笔记
刚才写好的文章不知道怎么没了,只好重写一遍:其实很多东西都知道并经常使用,只是未加以整理,在此慢慢补上:java相关:集合,多线程,网络相关,异常处理,设计模式,6大设计原则,android相关:常用框架MVC,MVP,MVVM的使用,Activity启动模式,Service使用,事件分发,UI适配,自定义view,动画Animation绘制,ANR处理,app优化,handler使用及原理,fragment使用,内存泄漏,数据库,jni的使用,aidl的使用,各Manager的使用,Windo原创 2021-03-19 09:45:47 · 91 阅读 · 0 评论 -
定时启动service
service范例一则:使用activity启动service,在service中做任务/* * Copyright (C) 2010 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use t原创 2021-03-19 09:08:54 · 207 阅读 · 0 评论 -
数据排查
之前遇到一个问题,esam调试遇到的。app给esam下发指令,esam返回加密数据给app,app把数据发给加密机解密。或者app请求加密机返回密文,app把密文发给esam芯片解密,芯片返回明文数据。流程本身没问题,偏偏遇到一个奇怪问题。加密机返回来的数据esam芯片可以解密,但是芯片加密的密文发给加密机却解不开,一定是数据出问题了。首先排查esam芯片和加密机,将之前测试好的esam芯片拿过来测试问题依旧。将该芯片放在其他正常设备上又好了。这说明芯片和加密机一定是没问题的。那么结论是芯片返原创 2020-10-21 18:07:15 · 364 阅读 · 0 评论 -
android studio Could not resolve 。。。 Could not download。。。
今天遇到一个扯淡问题,之前一直好好的工程,今天打开可以完成编译,一运行就报错,提示如下图所示:当时就很懵逼,之前一直好好的啊,为什么突然编译不过去,打开根目录gradle文件也没啥改动啊,如下为gradle文件配置:buildscript { repositories { google() jcenter()// maven { url 'http://maven.aliyun.com/nexus/content/groups.原创 2020-06-28 14:58:21 · 5743 阅读 · 1 评论 -
strictmode
StrictMode ,可以详细查看说明,用法,作用/* * Copyright (C) 2010 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in co原创 2013-08-06 19:42:38 · 1915 阅读 · 0 评论 -
strictmode使用及分析
参见原文链接,并感谢作者,http://www.cnblogs.com/zelos/archive/2011/02/27/1966403.htmlandroid 2.3 StrictMode 使用 ANR窗口产生的原因是多种多样的。程序的主线程因为IO读写或网络阻塞而导致被阻塞了,外部存储设备被独占了或系统负荷(load)过高(即不是自己编写的程序的问题,可能是系统或者其他第三方程序转载 2013-08-06 20:05:52 · 776 阅读 · 0 评论 -
编译4.2.2
参考这不是一份详细的Android源码编译指南,这里只是除官方指南外的记录,请先阅读官方编译指南官方的编译指南挺详细的,最好看仔细一点,比如ccache这个东西,如果你老在不同的分枝切换编译这个东西能节省不少的时间,官方推荐的操作系统是Ubuntu 10.04 64位, 不过我这里原来这里有一个下载好的12.04,看到官方说明也也支持所以就在12.04上面进行编译了。花了几天的转载 2013-08-12 11:01:18 · 913 阅读 · 0 评论 -
android代码参考
android.text.TextUtils.java中已经写好了常用的字符串操作,例如: /** * Returns true if the string is null or 0-length. * @param str the string to be examined * @return true if str is null or zero le原创 2013-08-16 13:47:04 · 526 阅读 · 0 评论 -
开机启动sim状态log,来去电log
开机启动sim状态变化相关log,可以参考虚线部分log,但是不仅仅于此08-02 17:05:31.430 D/StatusBar.NetworkController( 326): onCallStateChanged on phoneId0state=008-02 17:05:31.430 D/StatusBar.NetworkController( 326): onServiceS原创 2013-08-29 19:11:27 · 1499 阅读 · 0 评论 -
Volatile
Volatile修饰的成员变量在每次被线程访问时,都强迫从共享内存中重读该成员变量的值。而且,当成员变量发生变化时,强迫线程将变化值回写到共享内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。Java语言规范中指出:为了获得最佳速度,允许线程保存共享成员变量的私有拷贝,而且只当线程进入或者离开同步代码块时才与共享成员变量的原始值对比。这样当多个线程同时与某个对象交互时,就转载 2013-08-29 14:46:20 · 544 阅读 · 0 评论 -
phone相关log,包括main.log radio.log
+CMGS: OKNote: Send a message in text modeNote: Successful transmission如:radio.log:70: 08-02 18:51:16.480 111 140 D AT : Channel1: AT> AT+CMGF=0radio.log:92: 08-02 18:51:16.510原创 2013-08-29 19:30:24 · 1184 阅读 · 0 评论 -
phone中重要的类
参考:http://www.apkbus.com/forum.php?mod=viewthread&tid=57806(一)android打电话流程:1、打电话的入口是在OutgoingCallBroadcaster这个类中,此类是继承的Activity,在其oncreate方法里面用intent去接收需要拨打的电话,然后判断此号码是否为紧急号码(1)如果为紧急号码:立即启转载 2013-08-30 09:27:42 · 630 阅读 · 0 评论 -
launcher框架描述
参见:http://blog.csdn.net/stonecao/article/details/6462357和下一篇文章:http://blog.csdn.net/stonecao/article/details/6536083http://www.oschina.net/question/157182_46430转载 2013-09-06 16:48:18 · 801 阅读 · 0 评论 -
SystemServer启动服务
SystemServer /** * This method is called from Zygote to initialize the system. This will cause the native * services (SurfaceFlinger, AudioFlinger, etc..) to be started. After that原创 2013-09-11 15:26:23 · 688 阅读 · 0 评论 -
important pdf about phone
可以参考阅读,关于at command,ubuntu等说明AT-command.pdf GTM-201.pdf UserManual.pdfGSM Developer Guide - GSM AT Commands - Rev A.pdflibrarybook-core-modules.pdf原创 2013-08-30 15:02:59 · 623 阅读 · 0 评论 -
GSM Equipment and Network Error Codes
见链接:http://www.smssolutions.net/tutorials/gsm/gsmerrorcodes/GSM Equipment and Network Error CodesWhen controlling GSM devices using AT commands, the device can respond with either "OK" or "ERR转载 2013-09-25 11:14:18 · 908 阅读 · 0 评论 -
AT命令
参见链接,http://blog.chinaunix.net/uid-2630593-id-2138590.html,谢谢原作者作者博客链接http://blog.chinaunix.net/uid/2630593/year-201208-list-1.html常 用 AT 命 令 手 册 1、常用操作1.1 AT命令解释:检测 Module 与串口是否连通,能否接转载 2013-08-02 04:16:42 · 1030 阅读 · 0 评论 -
屏幕关闭原因以及p-sensor
分析的不错,转载如下,见链接:http://blog.csdn.net/yasin_lee/article/details/8930530屏幕关闭原因以及p-sensor分类: Linux Sensors 2013-05-15 14:59 287人阅读 评论(0)收藏 举报按下电源按键后屏幕关闭的log如下:D/WindowManager转载 2013-10-12 14:33:00 · 1104 阅读 · 0 评论 -
gl website
http://www.mesa3d.org/dispatch.htmlhttp://www.opengl.org/discussion_boards/showthread.php/158043-OpenGL-source-codehttp://www.opengl.org/archives/resources/code/samples/glut_examples/examp原创 2013-10-24 19:34:45 · 610 阅读 · 0 评论 -
截取android手机log
需要添加执行权限第一段,log相关#!/bin/sh#2.0.1# prepare adb connectionjava -version#adb kill-serveradb rootadb wait-for-deviceadb devicesecho "- device connected!"echo "- record log version"type=`a原创 2013-08-29 19:38:38 · 1878 阅读 · 0 评论 -
java 泛型
可以参考以下文章http://www.cnblogs.com/panjun-Donet/archive/2008/09/27/1300609.html内容:什么是泛型? 泛型(Generic type 或者 generics)是对 Java 语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类。可以把类型参数看作是使用参数化类型时指定的类型的一个占位符,就像方法的形式转载 2013-11-16 13:42:40 · 769 阅读 · 0 评论 -
VideoView和SurfaceView播放视频
用VideoView和SurfaceView播放视频播放视频可以用ViewView,也可以用SurfaceView,VideoView的方式是最简单的,代码如下:定义一个标签 android:layout_height="240px" />Java代码:videoView.setVideoURI(Uri.parse("file:///sdcard/转载 2013-11-10 10:32:25 · 853 阅读 · 0 评论 -
java callback
见链接http://www.cnblogs.com/codingmyworld/archive/2011/07/22/2113514.html我们在Java中模拟这个场景。 首先模拟注册事件监听器。先写一个监听器接口package com.listener;/** * 点击监听器接口 * @author CodingMyWorld * */publi转载 2013-11-10 12:14:48 · 707 阅读 · 0 评论 -
QQ浏览器(Android)设计分享:融合的设计
转载文章,见http://www.apkbus.com/android-56869-1-1.html内容如下:“融”的设计理念融,有融入、融合之意。就如同光线、水珠、环境的包融。打破惯有的格局,追求一种更和谐平衡的关系。并尝试摒弃工具式应用带给人的死气,呆板的形象。融,同时也包含了简洁,优雅、流畅的特点。让用户获得更好的沉浸式体验。并确定以简约、清新、开阔、沉浸式为转载 2013-11-10 12:20:48 · 906 阅读 · 0 评论 -
android 拦截鼠标按键
获取鼠标按键代码: view.setOnGenericMotionListener(new OnGenericMotionListener() { @Override public boolean onGenericMotion(View v, MotionEvent原创 2014-01-22 16:46:36 · 4082 阅读 · 0 评论 -
自定义view中对于activity事件处理
activity中:import android.app.Activity;import android.os.Bundle;import android.util.Log;import android.view.KeyEvent;public class MainActivity extends Activity { private TvListView mTvList原创 2014-02-11 17:49:48 · 843 阅读 · 0 评论 -
设计模式
再看看,写的挺好:http://zz563143188.iteye.com/blog/1847029总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察转载 2014-02-18 22:04:34 · 515 阅读 · 0 评论 -
熟悉
平时做东西太忙了,没有太多时间整理,一般要有一个整体梳理,有些东西需要熟练运用和牢记,以android举例,比如熟悉设计模式,能灵活运用熟悉http、xml、json协议;熟练运用多线程技术,具有良好面向对象编程思维;熟练xmpp协议熟悉TCP/IP通信机制,对Socket通信和HTTP通信有较深刻的理解,具有网络编程经验;丰富的手机UI设计经验,熟悉网络编程、原创 2014-02-19 22:40:56 · 601 阅读 · 0 评论 -
nehe文章
http://insanitydesign.com/wp/projects/nehe-android-ports/原创 2014-02-20 16:10:49 · 587 阅读 · 0 评论 -
DownloadManager
博客:http://www.trinea.cn/不错的博客,此处转载文章:Android系统下载管理DownloadManager功能介绍及使用示例本文主要结合源码介绍Android系统下载管理DownloadManager的强大功能及使用。这是许久来准备写的一系列博客,这篇主要介绍DownloadManager的功能和示例,后面还有两篇会介绍下载管理的底层设计(Dow转载 2014-03-03 21:13:27 · 837 阅读 · 0 评论