- 博客(46)
- 资源 (1)
- 收藏
- 关注
原创 Android 自定义view的简单应用(3) 时钟
先上效果图:布局文件:<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" ...
2018-08-28 16:27:45 258
原创 Android 自定义view的简单应用(2) 毛玻璃效果
先看效果图 布局文件:<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" ...
2018-08-24 10:28:54 1246
原创 Android 自定义View的简单应用(1) 雷达波效果
效果如下:布局文件:<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" ...
2018-08-24 09:22:52 516
原创 C++ socket发送POST请求
// httpPost.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include "stdio.h"#include <time.h>#include <WinSock2.h>#include <cstringt.h>#pragma comment(lib, "Ws2_3
2017-10-31 13:03:49 2399 1
原创 android 6.0 动态请求权限
private void RequestPermission() { int requestCode = 1; if (Build.VERSION.SDK_INT >= 23) { int hasStoragePermission = ContextCompat.checkSelfPermission(MainActivity.this, Ma
2017-10-24 14:01:43 177
原创 Android 收集的常用的一些函数
class myTools { /** * 根据手机的分辨率从 dp 的单位 转成为 px(像素) */ public static int dip2px(Context context, float dpValue) { final float scale = context.getResources().getDisplayMetrics(
2017-10-24 13:48:57 482
原创 android NDK 调用JAVA函数
jclass mclazz;jobject mjobj;jmethodID method_1;//找到类jclass clazz = env->FindClass("com/soft/MainActivity");if(clazz == 0){ return;}mclazz = (jclass)env->NewGlobalRef(clazz);mjobj = (jobject)
2017-10-24 13:44:30 283
转载 Activity Handler 使用 WeakReference
public class MainActivity extends FragmentActivity { private final mHandler mhandler = new mHandler(this); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreat
2017-10-24 09:48:24 303
转载 android NDK 打印16进制字符串
#include void CharArrayToHexString(char* pOut, const BYTE* pInput, const int nInLen){ const char* chHexList = "0123456789ABCDEF"; int nIndex = 0; int i=0, j=0; for (i=0, j=0;i<nInL
2017-10-24 09:38:45 1329
原创 简单的手势识别
自己写的一个简单的手势判断/* 手势处理 目前能够识别的手势: 单击 长按 双击 快速左滑 快速右滑 快速上滑 快速下滑 双指缩小 双指放大*/
2017-10-24 09:23:32 625
原创 nodejs 读取ini文件
var ini = require('iniparser');var iconv = require('iconv-lite');var ini_str = iconv.decode(FILESTR, "gbk"); //如有中文需要转码var ini_cfg = ini.parseString(ini_str)['main'];
2017-05-17 17:30:07 1359
原创 nodejs 连接操作MSSQL 数据库
nodejs +express socket.io使用方法 //服务端var express = require('express');var sio = require('socket.io');var http = require('http');var app = express();function normalizePort(val) { var port = parseInt
2017-05-17 17:16:26 1469 1
原创 nodejs 读取文件
var fs = require('fs');var alldata = [];var readstream = fs.createReadStream(filepath,{autoClose:true,start:0,end:1000});readstream.on('data',function(data){ alldata.push.apply(alldata,data);});
2017-05-17 17:06:17 247
原创 使用child_process创建进程
var childprocess = require('child_process');var Child_Process = childprocess.fork("./bin/child.js"); Child_Process.send(msg); //发送消息 //接送处理消息 Child_Process.on("message",function(message
2017-05-17 16:55:17 331
原创 socket.io (nodejs+express)
//服务端var express = require('express');var sio = require('socket.io');var http = require('http');var app = express();function normalizePort(val) { var port = parseInt(val, 10); if (isNaN(port
2017-05-17 16:47:14 219
原创 netty 分包处理
public class PackageFrameDecoder extends ByteToMessageDecoder { @Override protected void decode(ChannelHandlerContext arg0, ByteBuf arg1, List<Object> arg2) throws Exception { int
2017-05-16 13:33:46 822
原创 netty 服务端
public class Server { private final int port; private EventLoopGroup group; private ServerBootstrap sb; public static HashMap<String,SocketChannel> channels = new HashMap<>(); public
2017-05-16 13:29:20 309
原创 VFW 生成AVI 音视频文件
#include <windows.h> #include <vfw.h> class CAviFile { public: CAviFile(); ~CAviFile(void); HRESULT Open(LPCSTR lpszFileName, DWORD dwCodec, DWORD dwFPS, INT nWidth, INT nHeight,
2017-05-16 11:29:14 707
转载 android NDK 获取本机IP
int i=0; int sockfd; struct ifconf ifconf; unsigned char buf[512]; struct ifreq *ifreq; //初始化ifconf ifconf.ifc_len = 512; ifconf.ifc_buf = (char*)buf; if ((sockfd = socket(AF_INET, SOCK_DGRAM,
2016-07-29 22:57:19 1866
原创 Android ndk socket客户端
int sfd = socket(AF_INET,SOCK_STREAM,0); struct sockaddr_in seraddr; memset(&seraddr,0,sizeof(seraddr)); seraddr.sin_family = AF_INET; seraddr.sin_addr.s_addr = inet_addr(env->GetStringUTFChars(i
2016-07-29 22:47:03 311
转载 android ndk 使用LOG
1、引入头文件#include 2、Android.mk中加入LOCAL_LDLIBS+= -L$(SYSROOT)/usr/lib -llog3、__android_log_print(ANDROID_LOG_INFO, "JNITag","%s", str); 4、如果从Java接收字符串,有可能发生编码方式不一致而打印出乱码,可以执行如下操作
2016-07-29 22:45:12 623
转载 android 使用libmad 生成MP3左右声道的PCM文件
首先我们需要libmad.so修改Android.mkLOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := madLOCAL_SRC_FILES := libmad.soinclude $(PREBUILT_SHARED_LIBRARY)include $(CLEAR_VARS)
2016-07-29 10:55:20 2241
原创 android 加密数据库
我们需要使用第三方的库 sqlcipherimport net.sqlcipher.database.SQLiteDatabase;import net.sqlcipher.database.SQLiteDatabase.CursorFactory;import net.sqlcipher.database.SQLiteOpenHelper;public class mySqlite
2016-07-29 10:34:06 489
原创 Android 简易文件选择Dialog
fileselect.javapackage com.example.fileselect;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Butto
2015-07-28 11:28:57 555
原创 android Notification
NotificationManager nm = (NotificationManager)this.getSystemService(NOTIFICATION_SERVICE); Notificationnotification = new Notification(R.drawable.ic_launcher,"正在播放",System.currentTimeMillis()); noti
2015-07-28 11:19:34 298
原创 android 推送 mosquitto MQTT
下载Windows版的 mosquitto-1.1.2-install-win32.exe下载android Demo包 AndroidPushNotificationsDemo-master.zip安装mosquitto-1.1.2-install-win32.exe后 进入安装目录双击打开mosquitto.exeAndroid Studio 打开 Demo包
2015-07-28 11:07:43 427
原创 android 服务常驻
目前众多手机又一键清理 后台清理 使得Service往往被结束以下这个方法还是比较有效的用到了NDKimport android.app.Service;import android.content.Intent;import android.os.Environment;import android.os.IBinder;public class system
2015-07-28 10:44:39 563
原创 android surfaceview 画图帧数控制
class drawbitmap_thread extends Thread{ public void run() { while(true) { long startTime = System.currentTimeMillis(); //
2015-07-28 10:21:35 1110
原创 android socketserver socket
socketserver:import java.io.IOException;import java.net.ServerSocket;import java.net.Socket;public class ServerThread extends Thread{ private ServerSocket server; public static boolean ServerT
2015-07-28 10:05:14 370
原创 android crosswalk-webview 取代 webview
在官网下载crosswalk-webviewhttps://crosswalk-project.org/documentation/downloads.html参照https://crosswalk-project.org/documentation/embedding_crosswalk.html 中的方法在项目中添加使用方法:在布局文件中使用<org.xwalk
2015-07-28 09:45:54 2626
转载 Android Studio 卡在building界面
安装了android studio 之后,按照上文所述的那篇博文下载安装gradle,配置环境变量, 启动android studio,新建项目,发现还是新建不了,界面一直停在 【“building ‘ 项目名’ gradle project info”】: 其实这时候android studio 还是在下载 gradle ,但是由于被墙的原因, gradle 下载不了
2015-07-27 23:32:28 1761
原创 android Bitmap保存到文件(PNG)
private void saveMyBitmap(String bitName,Bitmap mBitmap){ File f = new File(DB_PATH + bitName + ".png"); try { f.createNewFile(); } catch (IOException e) { } FileOutputS
2015-07-27 21:16:55 674
原创 android 摄像头 拍照
打开摄像头预览 private Camera mCamera; private SurfaceView mCameraView; private SurfaceView mCameraViewHolder; mCameraView = (SurfaceView)t
2015-07-27 21:05:03 326
原创 android 监测数据库变化 ContentObserver
public class SMSContentObserver extends ContentObserver { final String SMS_URI_ALL = "content://sms/"; private Context mContext; public SMSContentObserver(Context mContext,Handler handler) { s
2015-07-27 17:44:40 644
原创 android 自动添加库文件到libs
eclipse Android开发中 加入NDK后 每次编译会清空libs文件夹,这样我们添加的第三方的SO文件就消失了该方法可以自动添加第三方SO文件到LIBS文件夹中在JNI文件夹中新建文件夹pb 名字随便pb中建立Android.mk例如LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE :=
2015-07-27 17:34:29 539
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人