首页 文章 精选 留言 我的

精选列表

搜索[原生UI],共10000篇文章
优秀的个人博客,低调大师

原生jdbc操作mysql数据库详解

首先给大家说一下使用JDBC链接数据库的步骤 1.加载链接数据库驱动 2.建立数据库链接 3.创建数据库操作对象 4.编写sql语句,执行sql语句 5.获取结果集 6.释放资源 我这边采用的是maven构建工具创建的java项目;如果不使用maven创建的话也没有什么不同,因为都是在main方法里面写的嘛! 只是需要导入jdbc需要的jar包即可,然后下面建项目的这些步骤就可以直接跳过了 首先点击新建项目 如果你的这里没有Maven Project 这个选项的话,那就直接点击Other,有的话就直接点击Maven项目即可! 点完以后在这里搜索maven也是一样的,选择Maven Project 然后next 直接使用默认 继续next 找到我选中的那一条 ,其他地方不用填 ,继续next 主要目的不是为了构建项目,所以这上面两个需要填写的地方可以随意些,上面的代表包名 ,第二个代表项目名,然后Finish 然后在pom.xml里面加入如下配置;我是不记得需要那几个jar包了,所以直接全部放进去了,哈哈哈哈哈 现在开始就要写代码了,首先建一个main方法,很简单的写一个例子 package com.TestJDBC; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; /** * Hello world! * */ public class Demo01 { public static void main( String[] args ) { Connection connection=null ; Statement statement=null; ResultSet resultSet = null; try { //1.加载驱动 Class.forName("com.mysql.jdbc.Driver"); //2.获取连接对象(参数解释,第一个是代表jdbc的方式访问mysql数据库,localhost代表是访问本地的,3306端口号,db_test01代表数据库名字,后面两个代表账户密码 connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/db_test01","root","root"); //3.获取执行sql对象 statement = connection.createStatement(); //4.编写sql语句,执行sql String sql="select * from stu"; //5.获取结果集 ,查询操作使用executeQuery,增,删,改使用statement.executeLargeUpdate(sql) //如果是增删改操作,失败了会返回0 resultSet = statement.executeQuery(sql); if(resultSet.next()){ //获取字符串类型的值 String name = resultSet.getString("name"); String sex = resultSet.getString("sex"); //获取int型的值 int age = resultSet.getInt("age"); System.out.println(name+" ,"+sex+","+age); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { //6.释放连接 if(resultSet!=null){ try { resultSet.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if(statement!=null){ try { statement.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if(connection!=null){ try { connection.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } } 下面改了一下,是一个预编译的案例 package com.TestJDBC; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; /** * Hello world! * */ public class Demo01 { public static void main(String[] args) { Connection connection = null; PreparedStatement statement = null; ResultSet resultSet = null; try { // 1.加载驱动 Class.forName("com.mysql.jdbc.Driver"); // 2.获取连接对象(参数解释,第一个是代表jdbc的方式访问mysql数据库,localhost代表是访问本地的,3306端口号,db_test01代表数据库名字,后面两个代表账户密码 connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/db_test01", "root", "root"); // 3.获取执行sql对象 // 4.编写sql语句,执行sql(预编译,用?号代替值) String sql = "select * from stu where id=?"; statement = connection.prepareStatement(sql); //然后再设置进去,可以设置多个值 statement.setString(1, "1"); resultSet = statement.executeQuery(); // 5.获取结果集 // ,查询操作使用executeQuery,增,删,改使用statement.executeLargeUpdate(sql) // 如果是增删改操作,失败了会返回0 if (resultSet.next()) { // 获取字符串类型的值 String name = resultSet.getString("name"); String sex = resultSet.getString("sex"); // 获取int型的值 int age = resultSet.getInt("age"); System.out.println(name + " ," + sex + "," + age); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { // 6.释放连接 if (resultSet != null) { try { resultSet.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if (statement != null) { try { statement.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if (connection != null) { try { connection.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } }

优秀的个人博客,低调大师

DevOps助力云原生应用开发实战分享

背景 Cloud Foundry 是业界比较“资深”的PAAS云平台,它不仅支持多种框架、运行时环境,还支持在多种云环境进行部署,包括:AWS, Azure, GCP, OpenStack等。本文分享,基于阿里云进行开发、运维的实战经验。 部署Cloud Foundry首先要用到的工具是BOSH。BOSH是用来部署和管理Cloud Foundry集群的工具。 它定义了一系列管理和操作云资源的接口Cloud Provider Interface,各个云厂商需要适配自己的Provider,这就是本文的开发背景。为了让大家对BOSH和CPI有一个感性的认识,下面简要的介绍几个相关概念。 BOSH的组件结构如上图所示, 这里简单说明一下,详细说明见官方文档 Director会解析部署命令和模板,然后调用CPI模块去创建VM(ECS)实例,实例信

优秀的个人博客,低调大师

Android 原生 Intent 分享支持的那些事

一、前言 对于一个 App 而言,分享是一个比较常见的功能。分享的主要功能,还是为了让 App 在用户之间形成一个自传播的效果,但是对于开发者而言,分享就是在不同的 App 之间,传递文本、文件等数据。 如果只是简单的分享内容,使用ACTION_SEND或者ACTION_SEND_MULTIPLE可能是一种简单的方式。可是从 Support v4 22.0.0 开始,引入了一个新的分享兼容库,ShareCompat,它可以帮开发者更轻松的构造一个分享的 Intent 。 二、ShareCompat 2.1 什么是 ShareCompat ShareCompat 可以帮助我们快速的实现应用间分享的数据的功能。既然是一个完整的功能,它主要包含了两个功能:快速的构建一个分享的 Intent,快速的读取别的 App 内分享来的内容。 所以,ShareCompat 是包含两部分内容的:IntentBuilder、IntentReader。从名称上就可以看出来他们的用途。 2.2 分享文本 从最简单的开始,使用 IntentBuilder 分享一个纯文本,是非常简单的,IntentBuilder 从名称也能看出来,它是Builder模式,所以可以支持多个方法链式调用。 其中最重要的是,设置一个正确的mimeType,它将是用于Intent-filter过滤器重要的过滤条件,表示这里知识分享一个纯文本的类型的内容。 在startActivity()之前,调用resolveActivity()做一层校验,是一个比较常规的保护措施。它避免了当前系统中没有任何 App 可以匹配上这个隐式的 Intent,而触发ActivityNotFoundException的异常。虽然没有可以接收text/plain类型的分享其实是非常不可能的,但是加上它也是一个很好的编码习惯。 2.3 分享 HTML 格式的文本 有一些 App ,例如 电子邮件客户端,是可以支持 HTML 格式的文本的,与纯文本相比,它可以显示更丰富的内容。 可以注意到,区别就在于setType()的时候,填写的是text/html,并且使用的是setHtmlText()方法去配置分享的内容。 既然分享 Html 内容,多用于发送 Email 内容,所以这里也配置了接收的邮件地址。 一般而言,使用 Html 的方式还需要接收分享内容的 App 支持这样的内容,所以还是需要谨慎使用,可能用户分享的 App ,并不能很好的显示我们需要分享的 Html 的内容。 2.4 发送一个Email 前面也提到如何在发送的 Email 中,添加一个 Html 的内容。而 ShareCompat 也提供了非常好的发送 Email 的体验,可以非常方便的构造一个用于发送 Email 的 Intent。 IntentBuilder 中,提供了非常方便的 Api,用于添加一些 Email 收件人、抄送之类的数据,都在addEmailXxx()的方法中,非常好理解,有兴趣的可以直接看看 Api 文档。 2.5 收一个文本内容 虽然大多数情况下,我们是需要开发一个支持分享的功能,但是也不影响我们了解如何接收一个分享的内容。 而分享传递过来的内容,都是可以在 Intent 中获取到的。而 IntentReader 也提供了非常便捷的 Api 让我们快速的拿到它的内容。 这里以接收一个文本内容为例,首先需要在AndroidManifest.xml中配置接收的 Activity 和 Intent-filter。 这就是一个比较常规的 ShareActivity 的配置。 IntentReader 使用起来也非常的简单,它实际上就是一个 Intent 数据的包装器,提供了很多方便的 Api ,从 Intent 中提取出我们需要的数据。 2.6 分享文件和图片 除了分享一段文本内容之外,有时候我们还需要向外分享一个文件(包括视频、图片等)。而发送这些,就需要具有额外的权限。 构造一个图片的分享也非常的简单,只需要使用setStream()方法,传递一个文件的Uri即可,并且配置好对应的mimeType。 但是这种方式,就需要考虑到 Android 6.0 开始对分享的文件,以严格模式进行处理,所以对此我们需要使用FileProvider来支持。 有关 FileProvider 的内容,可以看看之前的文章: 一旦使用上 FileProvider 只需要将 Uri 替换成FileProvider.getUriForFile()返回的 Uri 即可,这都是 FileProvider 的标准内容,就不在这里详细说明了。 不过有一点需要特别注意的,使用 FileProvider 返回的 Uri ,就可以不用显式的设定 mimeType 类型了,因为它是可以通过这个 Uri 推断出正确的 mimeType 的类型的,所以就不需要显式的指定了。 2.7 接收文件内容 Android 6.0 对文件的接收,并没有任何的改变,所以我们只需要使用IntentReader.getStream()这个标准的 Api 就可以拿到分享过来的 Uri。 三、ShareCompat 都兼容了什么 Support v4 包下的库,其实都是为了向 Android 低版本做兼容而努力的,让开发者无需关注他们之间的差异,而通常我们看到一个类的命名中,有 Compat 字样,一般就可以断定,它又是一个兼容库。 那么 ShareCompat 对不同的 Android 版本,有做什么兼容处理呢? ShareCompat 中,有一个静态的 ShareCompatImpl 对象,它就是为了出来兼容问题的,它是一个接口,先来看看它的定义。 可以看到,它实际上就是对configureMenuItem()和 html 的文本转义,做了兼容的处理。 在 ShareCompat 的静态代码块中,对其进行版本的区分,不同版本用不同的实现类。 简单来说,就是一些处理方法,可能在低版本上没有,所以它会使用另外的方法去实现。举个例子,ShareCompatImplJB中,escapeHtml()方法,最终调用的是Html.escapeHtml()方法,但是这个方法它是 Api Level 16 才有的支持,所以在ShareCompatImplBase中,实际上是把它的实现,完全的拷贝了出来,只是为了做一个 Html 中字符的转义。 四、结语 ShareCompat 如果只是简单的去分享一个内容,还是非常的好用的。但是大多数情况下,我们还是会选择使用第三方 App 提供的 SDK,来进行接入支持,因为会有一些定制的需要,例如拿到分享结果。 不过这并不影响我们了解 ShareCompat ,多看看 Google 开发人员写的代码,终归是对你有帮助的。 本文转自承香墨影博客园博客,原文链接:http://www.cnblogs.com/plokmju/p/7324776.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

原生的 exFAT 支持已经来到 Linux 平台

不同文件系统在不同的操作系统上读写一直是件很头大的事,特别是用 NTFS/exFAT格式化后的大容量U盘,在 Windows 和 Linux 之间共享数据时最为头痛。 在Linux平台上支持exFAT,分为三个阶段: 最初是一个exFAT的补丁,可以只读的使用exFAT;之后通过FUSE方式支持了exFAT,但是其性能并不很好;现在由Android代码中移植来的exfat-nofuse则是由微软开发的,并不依赖FUSE,不但能支持读写,而且性能也不错。 exfat-nofuse在 Linux kernel 3.8 、 3.9和3.10中通过测试,可需求的同学可以前往github下载: https://github.com/rxrz/exfat-nofuse 安装方式: make && make install modprobe exfat_fs 原文发布时间为:2013-07-06 本文来自云栖社区合作伙伴“Linux中国”

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册