原生native_native react 原生ui组件 - CSDN
  • Android原生(Native)C开发之三 鼠标事件篇(捕鼠记)落鹤生 发布于 2011-05-12 09:20 点击:663次 来自:emck.avaw.com 在做SDL至Android的移植时,键盘事件是能正常捕获到,看了SLD的源码,发现用的device是 /dev/tty0...
    Android原生(Native)C开发之三 鼠标事件篇(捕鼠记)落鹤生 发布于 2011-05-12 09:20 点击:663次 来自:emck.avaw.com 在做SDL至Android的移植时,键盘事件是能正常捕获到,看了SLD的源码,发现用的device是 /dev/tty0,但是鼠标叫是不能成功捕获,总是得到 0,运行命令查看devices时,显示如下TAG: 鼠标 在做SDL至Android的移植时,键盘事件是能正常捕获到,看了SDL的源码,发现用的device是 /dev/tty0,但是鼠标叫是不能成功捕获,总是得到
     0,运行命令查看devices时,显示如下:01.# cat /proc/bus/input/devices 02.cat /proc/bus/input/devices 03.I: Bus=0000 Vendor=0000 Product=0000 Version=0000 04.N: Name=”qwerty” 05.P: Phys= 06.S: Sysfs=/class/input/input0 07.U: Uniq= 08.H: Handlers=kbd mouse0 event0 09.B: EV=2f
     10.B: KEY=ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff f 11.fffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe 12.B: REL=3 13.B: ABS=7 14.B: SW=1 进入 /dev/input 目录,发现在3个device文件:mice,mouse0,event0,分别 cat这3个文件,发现只有
     event0 有反应,如下图: Android Native 鼠标事件截图1而且不管是点击鼠标还是按键,都有反应,但显示的是一堆乱码,而且点击鼠标出来的东西要多一点,难道这就是传说是的 touchscreen ?! 为了分析 event0 的返回值,写了一段代码 testmice.c,如下:01.#include 02.#include 03.#include 04.#include 05. 06.static int event0_fd = -1; 07.struct input_event ev0[64];
     08. 09.//for handling event0, mouse/key/ts 10.static int handle_event0() { 11.int button = 0, realx = 0, realy = 0, i, rd; 12. 13.rd = read(event0_fd, ev0, sizeof(struct input_event) * 64); 14.if ( rd < sizeof(struct input_event) ) return 0; 15. 16.for (i
     = 0; i < rd / sizeof(struct input_event); i++) { 17.printf(”", ev0[i].type, ev0[i].code, ev0[i].value); 18.if (ev0[i].type == 3 && ev0[i].code == 0) 19.realx = ev0[i].value; 20.else if (ev0[i].type == 3 && ev0[i].code == 1) 21.realy = ev0[i].value; 22.else
     if (ev0[i].type == 1) { 23.if (ev0[i].code == 158) { 24.//if key esc then exit 25.return 0; 26.} 27.} else if (ev0[i].type == 0 && ev0[i].code == 0 && ev0[i].value == 0) { 28.realx = 0, realy = 0; 29.} 30.printf(”event(%d): type: %d; code: %3d; value: %3d;
     realx: %3d; realy: %3d\n”, i, 31.ev0[i].type, ev0[i].code, ev0[i].value, realx, realy); 32.} 33. 34.return 1; 35.} 36. 37.int main(void) { 38.int done = 1; 39.printf(”sizeof(struct input_event) = %d\n”, sizeof(struct input_event)); 40. 41.event0_fd = open(”/dev/input/event0″,
     O_RDWR); 42. 43.if ( event0_fd < 0 ) 44.return -1; 45. 46.while ( done ) { 47.printf(”begin handel_event0…\n”); 48.done = handle_event0(); 49.printf(”end handel_event0…\n”); 50.} 51. 52.if ( event0_fd > 0 ) { 53.close(event0_fd); 54.event0_fd = -1; 55.} 56.
     57.return 0; 58.} 用交叉编译器编译好后(编译过程就不再详述,请参见 blog:Android原生(Native)C开发之一:环境搭建篇),push至 emulator后执行后,切换到android 模拟器,在模拟器上点几下mouse,程序就会打出你点击的信息,效果如下,果然能正确得到点击的 mouse pos,如下图: Android Native 鼠标事件截图2分析上面的返回值,发现当按下 mouse left button 时,会得到4个事件,2个 type = 3 的事件返回了 pos
     x, pos y 的值,即mouse click pos, 另外1个 type = 1 的事件是按键事件(keydown),value就是按下的键的key,为0的应该就是 key的release事件,当松开 mouse时,也会得到两个 type = 1, 0 的事件,没有仔细去看它们的返回值,反正已经正确得到了 mosue的事件,下一步就是改SDL的事件驱动源码了… 参考链接: USB Mouse and Touch Screen (TS) Input(EN)[http://www.webkinesia.com/games/embedded.php]
     文章转自:http://emck.avaw.com/?p=212(emck) 本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www.rosoo.net/a/201104/11308.html]
    
    展开全文
  • 原生Native APP和Web APP的区别之处

    最近一段时间,在公司开发了一个web版的APP,由于原来基本上都是开发原生的APP。因此,做完后对比一下,发现两者之间的差别还是有那么大的,尤其是在一些特殊情况下,两者是无法相互替代的。同时在网上也查阅了很多资料,总结出两者之间的如下区别。

    Native App开发
    Native App开发即我们所称的传统APP开发模式(原生APP开发模式),该开发针对IOS、Android等不同的手机操作系统要采用不同的语言和框架进行开发,该模式通常是由“云服务器数据+APP应用客户端”两部份构成,APP应用所有的UI元素、数据内容、逻辑框架均安装在手机终端上。
    Native App(原生型APP)应用呈现以下特点:
    (1)每次获取最新的APP功能,需要升级APP应用;
    (2)原生型APP应用的安装包相对较大,包含UI元素、数据内容、逻辑框架;
    (3)手机用户无法上网也可访问APP应用中以前下载的数据。
    (4)原生型的APP可以调用手机终端的硬件设备(语音、摄像头、短信、GPS、蓝牙、重力感应等)
    (5)APP应用更新新功能,涉及到每次要向各个应用商店进行提交审核。
    适用企业:游戏、电子杂志、管理应用、物联网等无需经常更新程序框架的APP应用。
    Web App开发
    Web App开发即是一种框架型APP开发模式(HTML5 APP 框架开发模式),该开发具有跨平台的优势,该模式通常由“HTML5云网站+APP应用客户端”两部份构成,APP应用客户端只需安装应用的框架部份,而应用的数据则是每次打开APP的时候,去云端取数据呈现给手机用户。
    Web APP应用呈现以下特点:
    (1)每次打开APP,都要通过APP框架向云网站取UI及数据;
    (2)手机用户无法上网则无法访问APP应用中的数据。
    (3)框架型的APP无法调用手机终端的硬件设备(语音、摄像头、短信、GPS、蓝牙、重力感应等)
    (4)框架型APP的访问速度受手机终端上网的限制,每次使用均会消耗一定的手机上网流量;
    (5)框架型APP应用的安装包小巧,只包含框架文件,而大量的UI元素、数据内容刚存放在云端;
    (6)APP用户每次都可以访问到实时的最新的云端数据;
    (7)APP用户无须频繁更新APP应用,与云端实现的是实时数据交互;
    适用企业:电子商务、金融、新闻资讯、企业集团需经常更新内容的APP应用。

    总结
    移动Web无所不在,移动Web是目前唯一的支持各种设备访问的平台,与桌面Web一样,移动Web支持各种标准的协议。移动Web也是唯一一个可供开发者发布移动应用的平台,它将各种移动交互与桌面任务有效地连接了起来;而开发Native App可以充分利用设备的特性,而这一点往往是Web浏览器做不到的,所以对一个产品本身而言,Native App是最佳的选择。

    展开全文
  • 转载: Android原生(Native)C开发之一 环境搭建篇 Android是基于Linux的操作系统,处理器是ARM的,所以要在Linux或Windows等x86系统上编译Android能运行的程序,你需要一个交叉编译器。 在Linux下面,你可以自已...

    转载: Android原生(Native)C开发之一 环境搭建篇

    Android是基于Linux的操作系统,处理器是ARM的,所以要在Linux或Windows等x86系统上编译Android能运行的程序,你需要一个交叉编译器。

    在Linux下面,你可以自已编译一个交叉编译环境,但Windows下面,就比较复杂(也可以在cygwin中编译一个),但你可以选择下载一个现成的交叉编译环境:

    http://www.codesourcery.com/gnu_toolchains/arm/download.html

    Windows: http://www.codesourcery.com/gnu_toolchains/arm/portal/package3400/public/arm-none-linux-gnueabi/arm-2008q3-41-arm-none-linux-gnueabi.exe

    Linux: http://www.codesourcery.com/gnu_toolchains/arm/portal/package3399/public/arm-none-linux-gnueabi/arm-2008q3-41-arm-none-linux-gnueabi.bin

    安装好了之后,将 CodeSourcery编译器的bin目录 (我的是D:\Program Files\CodeSourcery\Sourcery G++ Lite\bin)加入你的PATH环境变量中,就可以开始你的Android Native C开发之旅了,写好一个简单的C程序:

    #include

    int main(int argc, char** argv) {
    printf(”hello android!\nI’m %s!\nI like android very much!!!\n”, “Martin Foo”);

    return 0;
    }

    另存成hello.c,进入命令行模式,确保交叉编译器的bin目录,及Android SDK的tools目录在你的系统环境变量的path里面,用如下命令编译:

    arm-none-linux-gnueabi-gcc -static hello.c -o hello

    注意,一定要加上static参数,否则编译好的可能会在Android上不能运行。

    启动Android模拟器,用如下命令将文件push到Android模拟器上:

    adb shell mkdir /dev/sample
    adb push hello /dev/sample/hello

    adb shell chmod 777 /dev/sample/hello

    先创建 /dev/sample目录,再将编译好的hello上传上去,最后将hello改成可执行的。

    再进入命令行模式,进入Android的shell环境:

    adb shell

    #cd /dev/sample

    #./hello

    进入 /dev/sample目录,执行hello,运行结果如下图:

    Android Native编译环境

    Android Native编译环境

    展开全文
  • 为什么80%的码农都做不了架构师?>>> ...

    给字符串对象定义一个repeatify功能。当传入一个整数n时,它会返回重复n次字符串的结果。例如: 
     

    console.log('hello'.repeatify(3));


    应打印 hellohellohello。 

    一个可能的实现如下所示: 

    String.prototype.repeatify = String.prototype.repeatify || function(times) {
       var str = '';
       for (var i = 0; i < times; i++) {
          str += this;
       }
       return str;
    };


    现在的问题测试开发者有关JavaScript继承和prototype的知识点。这也验证了开发者是否知道该如何扩展内置对象(尽管这不应该做的)。 

    这里的另一个要点是,你要知道如何不覆盖可能已经定义的功能。通过测试一下该功能定义之前并不存在: 
     

    String.prototype.repeatify = String.prototype.repeatify || function(times) {/* code here */};


    当你被要求做好JavaScript函数兼容时这种技术特别有用。 

    转载于:https://my.oschina.net/hrw/blog/847906

    展开全文
  •   Native.js技术,简称NJS,是一种将手机操作系统的原生对象转义,映射为JS对象,在JS里编写原生代码的技术。   如果说Node.js把js扩展到服务器世界,那么Native.js则把js扩展到手机App的原生世界。   ...
  • 1、原生Native)函数的概念  在Java程序中,可以使用由其他编程语言实现的函数,这种函数,在Java中被称之为  原生Native)函数。   2、在Java程序中使用原生函数的优缺点    1)优点
  • Vue和原生native交互使用方法

    千次阅读 2018-12-14 16:39:20
    首先Vue调用安卓这方面不用说了,使用方式和html调用安卓Native方法一致,这方面会在另外一篇文章当中说明,这里就不做多说了,下面重点要说的是安卓调用Vue的function,这里要特别说明下,安卓端调用代码不变,主要...
  • 今天在写一个action的时候发现,hibernate的原生的sql的查询的支持的确不太满足我的需求,特别的现在的hibernate5.2.6版本,其中去除掉了很多原生查询的支持,特别是setResultTransformer()方式的过时,使得我需要...
  • Appium原生Native界面元素和网页Webview元素切换 编辑 删除 def ChangeWebview(self): '''切换到webview''' sleep(5)#此处加上睡眠等待,此时向服务器请求数据,一般数据量多时,会获取不到webview和...
  • 参考:...public class MyTestActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.
  • EventChannel是一种native向flutter发送数据的单向通信方式,flutter无法返回任何数据给native。主要用于native向flutter发送手机电量变化、网络连接变化、陀螺仪、传感器等。它的使用方式如下。 Android 端: 如图...
  • APP开发模式通常分为Web APP与Native APP原生模式两种,这两种模式均各自有自己的优势,到底是采用Native App开发还是采用Web App开发一直是业界争论的焦点,但是随着HTML5的发展及云服务普及,采用HTML5进行Web App...
  • Hibernate 使用原生 Native SQL

    千次阅读 2015-09-24 01:12:57
    Hibernate 是 DBA 最讨厌的框架之一, 在于 HQL 的滥用, 导致后期调优极度困难, 复杂的查询还是需要使用原生 SQL 来进行, 那么熟悉原生 SQL 调用就至关重要...
  • React Native原生交互

    千次阅读 2017-04-24 13:46:37
    React Native原生交互 http://www.jianshu.com/p/41dd77a83c13 React Native原生交互一般有三种方式,分别是Callback,Promise,RCTDeviceEventEmitter 本文所有代码片段基于 React Native "react...
  • 原生部分代码这里就不贴了,直接参考官网即可。 这里只讲RN部分如何处理,因为导航根视图StackNavigator的页面中并不是常规的RN组件创建过程,而是直接调用了react-navigation给我们集成好的配置入口完成导航根目录...
  • 在《我们是如何将 Cordova 应用嵌入到 React Native 中》 一文中,我们简单地介绍了『React Native 重写 Cordova 插件:复杂插件的调用』步骤: WebView 调用 RN 方法,并监听 React Native 返回的相应事件 ...
  • 在Android Studio中开发引用到so库,需要将so库放入main/jniLibs/xxx/中 xxx是对应的处理器,一般为armeabi,armeabi-v7a,后者是针对有浮点运算或高级扩展功能的arm cpu。 在eclipse中,so库放在libs/xxx/中。
  • open edx: ubuntu 16.04原生native 安装部署

    千次阅读 2017-05-31 19:46:18
    1. 引言openedx作为哈佛大学等美国顶尖大学推出的在线教育平台,在全世界有着广泛的应用。...现在,openedx在国内越来越普及,有成熟的商业化产品(清华的学堂在线),也有面向各大院校的免费教育产品(edustack)。...
  • H5与native有啥区别?

    千次阅读 2018-07-17 18:37:21
    app测试,H5与native有啥区别? native是使用原生系统内核的,相当于直接在系统上操作。是我们传统意义上的软件,更加稳定。 但是H5的APP先得调用系统的浏览器内核,相当于是在网页中进行操作,较原生APP稳定性稍...
  • 微信扫码支付-Native原生支付

    千次阅读 2016-12-14 17:56:38
    最近在接触微信第三方支付,自己在写的过程中走了很多弯路,现在写了一个可以使用的微信扫码支付,写到博客中以便自己跟他人参考 微信扫码支付分为两种模式,商户根据支付场景选择相应模式 ...
1 2 3 4 5 ... 20
收藏数 62,730
精华内容 25,092
关键字:

原生native