- 博客(37)
- 资源 (9)
- 问答 (3)
- 收藏
- 关注
原创 关于android include标签使用的一点心得和疑惑
include标签用于复用已有的布局文件,使得一份布局文件可以在多个地方使用。定义一个待复用的自定义标题栏布局文件 title_layout.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:la
2016-09-30 12:15:13 1489
原创 Gson在java对象和json字符串之间转换
GsonLib下载链接 Gson相比org.json最大的好处是从json字符串转向java实例时候少了依据每个实例自己赋值的过程,比如在org.json的时候,我们先从json字符串构建一个jsonobject,然后用各种的json get方法获取到每个字段的值,这是一个体力活。而gson依据反射机制我们只要传递我们要实例化的类型class进去返回就是创建好的实例。大大减少了代码量。先从java
2016-09-27 22:34:57 62806
原创 括号匹配
个字符,处理相应的括号,判断这个表达式的括号是不是匹配。 思路:循环遍历字符串,读取字符每一个字符,记做“ch”,如果ch是左括号,则入栈;如果ch是右括号,则: 如果栈空:说明多出右括号,返回false; 如果栈不空,ch和栈顶比较,如果不同,返回false;如果匹配,则出栈一次;如果循环结束后栈空,则返回true,说明左括号匹配完了;如果循环结束后栈不空,则返回false
2016-09-27 01:38:43 820
原创 关于object类的clone方法浅克隆与深度克隆
在实际编程过程中,我们常常要遇到这种情况:有一个对象A,在某一时刻A中已经包含了一些有效值,此时可能 会需要一个和A完全相同新对象B,并且此后对B任何改动都不会影响到A中的值,也就是说,A与B是两个独立的对象,但B的初始值是由A对象确定的。在 Java语言中,用简单的赋值语句(简单赋值是引用赋值还是指向同一个块地址)是不能满足这种需求的。要满足这种需求虽然有很多途径,但实现clone()方法是其中最
2016-09-26 23:48:31 5806
原创 怎么让自定义的脚本文件在任何路径下输入文件名可直接运行
比如以这个脚本文件为例。是输出当前脚本所存放的路径 输出结果/home/cindy/CustomBash#!/bin/bashbasepath=$(cd `dirname $0`; pwd)DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"#下面这个没用,DIR才能输出当前脚本文件所处目录#echo "$bashpath"ec
2016-09-25 22:32:20 4623
原创 Java中从控制台输入数据的几种常用方法
一、使用标准输入串System.in //System.in.read()一次只读入一个字节数据,而我们通常要取得一个字符串或一组数字 //System.in.read()返回一个整数 //必须初始化 //int read = 0; char read = ‘0’; System.out.println(“输入数据:”); try { //read
2016-09-19 21:42:16 3360
原创 android短信发送和接受
短信发送发短信第一件事是在manifest文件中添加权限<uses-permission android:name="android.permission.SEND_SMS" /> 第一方法:调用系统发短信的应用 /** * 调起系统功能发短信 * @param phoneNumber * @param message
2016-09-19 13:42:19 4541 1
原创 ubuntu下面android ndk开发第一例
准备的资源是一个activity和一个JniService,activity中一个Button触发native代码执行。第一步:先新建JniService.java源代码,里面全是本地代码的声明,不用在这个文件中实现。package com.vincent.org.networkapp.jnidemo;public class JniService { private native stat
2016-09-18 18:23:26 726
原创 同一个android应用下面不同包下面activity 互相调用
默认情况下,android将所有的activity源代码放在模块manifest文件下的manifest节点packages属性指定的包目录下面,一般情况下我们的activity节点对android:name属性的赋值都是以.xxxx开头,这个其实就是相对于packages属性指定的包名的相对路径,加如packages赋值如下package="com.vincent.org.networkapp"/
2016-09-18 17:07:49 4169
原创 ubuntu中adtbundle中ndk开发报 Type 'JNIEnv' could not be resolved
出现的提示信息如下: Multiple markers at this line - Syntax error - Type ‘JNIEnv’ could not be resolved - Type ‘JNICALL’ could not be resolved是由于没有将jni.h导入的缘故,而这个文件在ndk的目录下面。所以,参照以下步骤: 选中工程右键Project P
2016-09-18 10:08:28 957
原创 NDK开发中Type 'int32_t' could not be resolved
参考网址 给出如下的建议,就是将size_t,或者int32_t这类类型申明的头文件路径加进去到path中。 size_t is defined in stddef.h which is compiler specific. In order to add it to the include path you have to add the /toolchain//prebuilt//lib
2016-09-18 09:57:57 2441
原创 关于adtbundle中preferences的android选项卡没有NDK设置项的问题
一般我们在安装成功了ndk后,需要在adtbundle上面设置NDK路径,但是一开始是没有的。 解决办法是下载com.android.ide.eclipse.ndk_23.0.2.1259578.jar的jar包,放在adtbundle安装目录/eclipse/plugins/目录下面。资源下载链接 然后重启adtbundle 就可以看到有ndk设置项了
2016-09-18 09:02:09 2612
原创 apt-get 三个update相关的命令
update 三个命令的区别apt-get update 更新软件列表。 apt-get upgrade 更新软件。 apt-get dist-upgrade 更新系统版本。
2016-09-18 08:43:17 11498
原创 如何在Ubuntu上检查一个软件包是否安装
https://linux.cn/article-5154-1.html要检查特定的包,比如firefox是否安装了,使用这个命令: dpkg -s firefox同样,你可以使用dpkg-query 命令。这个命令会有一个更人性化的输出,当然,你可以用通配符。 dpkg-query -l firefox这个命令前半部分是用于查找安装的所有包名,后边过滤出gcc的包 dpkg -
2016-09-18 08:23:26 7934
原创 关于window下git add命令下会提示下面的信息
warning: LF will be replaced by CRLF in AndroidManifest.xml. The file will have its original line endings in your working directory.虽然没有错,只是把Linux下的LF换行符转换为window下的换行符CRLF但是我们也不想换 $ rm -rf .git // 删除
2016-09-12 10:24:33 704
原创 git中关于文件是否加进版本控制管理库中的.gitignore文件配置
.gitignore文件过滤有两种模式,开放模式和保守模式2.1开放模式负责设置过滤哪些文件和文件夹eg:过滤文件夹设置:/mtk/ 表示过滤这个文件夹过滤文件设置指定过滤某种类型的文件: *.zip *.rar *.via *.tmp *.err指定过滤某个文件: /mtk/do.c/mtk/if.h2.2 保守模式负责设置哪些文件不被过滤,也就是哪些文件要被跟踪。 跟踪
2016-09-12 10:16:26 643
原创 windows7下面新建以 "."开头的文件和文件夹
windows下面的cmd跟Linux的命令行真是差别真大。Windows下因为不能用图形界面新建以点开头的文件和文件夹那么必须用cmd来新建这种类型的文件新建文件: 语法格式:type NUL > .文件名 例如 type NUL>.log ,这样就新建了以.log为名字的文件 新建文件夹: 语法格式:mkdir 文件名 例如 mkdir .gitignore 这样就新建了一个以.g
2016-09-12 09:57:34 11236
原创 java Scanner类用于从命名终端输入数据
网上查阅的说法如下: Scanner使用分隔符模式将一串输入分解为一个个标记,默认情况下该分隔符模式与空白和Tab这些空白字符匹配。然后可以使用不同的next方法将得到的标记转换为不同类型的值。 s.useDelimiter(",");// 设置tocken,设置了对一个数据流怎么去分割的字符串,这个改为,号关于hasnext()方法: hasNext()是Scanner类的一个方法,判断
2016-09-10 16:03:25 835
原创 给activity设置自定义权限
关于给一个activity设置app以外的app访问这个activity所需要的权限这篇文字说的很明白基于自己多上面这边文字的理解自己时间了下。 比如我在一个叫networkapp的一个app上面的一个activity设置了一个自定义权限 首先在mainfest文件自定义一个权限<!-- 为networkapp声明一个权限 --> <permission android:
2016-09-09 16:24:12 9120 1
原创 去掉listview中item之间的横线以及设置listview的背景色
去掉listView的item之间的分隔线在代码中使用myListView.setDividerHeight(0);myListView.setDivider(null); // XML布局文件中设置ListView的属性//或者android:divider="@null"设置listview的背景色Layout的ListView中加入 android:cacheColorHint=”#0
2016-09-08 22:43:51 7973
原创 java.lang.IllegalStateExceptionThe specified child already has a parent
java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child’s parent first.首先说下这个异常普遍出现在动态添加View时,出现。你第一次动态加载一个view到一个container时候不会报错,但是第二次动态加载到co
2016-09-08 16:32:55 2156
原创 List接口的使用
List集合代表一个有序集合,集合中每个元素都有其对应的顺序索引。List集合允许使用重复元素,可以通过索引来访问指定位置的集合元素。 1、List接口和ListIterator接口 List作为Collection接口的子接口,可以使用Collection接口里的全部方法。List是有序集合,所以List集合里增加了一些根据索引来操作集合元素的方法:void add(int inde
2016-09-08 00:05:39 1119
原创 java8集合框架LinkedList类实现自己简单的理解
参考文献LinkedList与ArrayList一样实现List接口,只是ArrayList是List接口的大小可变数组的实现,LinkedList是List接口链表的实现。基于链表实现的方式使得LinkedList在插入和删除时更优于ArrayList,而随机访问则比ArrayList逊色些。 LinkedList实现所有可选的列表操作,并允许所有节点数据部分为null。 除了实现 List 接
2016-09-07 23:48:19 1812
原创 java集合框架概述
所有集合类都位于java.util包下。集合中只能保存对象(保存对象的引用变量)。(数组既可以保存基本类型的数据也可以保存对象)。当我们把一个对象放入集合中后,系统会把所有集合元素都当成Object类的实例进行处理。从JDK1.5以后,这种状态得到了改进:可以使用泛型来指定集合里元素的类型,并让集合记住所有集合元素的类型。 Java的集合类主要由两个接口派生而出:Collection和Map,Co
2016-09-07 13:04:41 588
原创 set接口
Set接口Set集合里多个对象之间没有明显的顺序。具体详细方法请参考API文档,基本与Collection方法相同。只是行为不同(Set不允许包含重复元素)。 Set集合不允许重复元素,是因为Set判断两个对象相同不是使用==运算符,而是根据equals方法。即两个对象用equals方法比较返回true,Set就不能接受两个对象。public class TestSet{ p
2016-09-07 11:16:19 1632
原创 iterator与iterable接口之间的区别
iterable接口最重要的方法是 Iterator<T> iterator(); //返回一个迭代器Iterator,而Iterator也是一个接口所以有很大的自由,Iterator接口最重要的方法是:以前三个最重要对任何一个集合实例都可以用这三个方法进行遍历所有元素。 Iterator接口是用于遍历集合类的标准访问方法。它可以把访问逻辑从不同类型的集合类中抽象出来,从而避免向客户
2016-09-07 11:08:20 4803
原创 关于 list.remove(obj);方法在迭代器中报java.util.ConcurrentModificationException
参考文献 java报这个异常ConcurrentModificationException。代码如下:List list = ...;for(Iterator iter = list.iterator(); iter.hasNext();) { Object obj = iter.next(); ... if(***) { list.remove(ob
2016-09-06 23:22:30 745
原创 android.content.ActivityNotFoundException: Unable to find explicit activity
首先这个错误的发送的背景是:adtbundle中有两个android项目,项目1:networkapp,项目2:libQR,作为一个库项目。 项目1引用项目2中的内容。 对于怎么设置一个android项目为库项目,另外一个项目引用这个库项目的两步骤在这里有。我只做了如下两步: 1、对于项目2库项目单击左侧的android选项,勾上右侧面板中的Is Library复选框,单击ok,完成了对一个a
2016-09-02 17:53:47 844
原创 关于LinearLayout 布局中layout_gravity 属性和gravity 属性的异同。
一般情况下: layout_gravity 表示组件自身在父组件中的位置 gravity 表示组件的子组件在组件中的位置 参考文献 当作为父layout的LinearLayout的属性为androidrientation=”vertical” 的时候,android:layout_gravity=”?”这里设为横向的时候才能生效。比如:left,right,cent
2016-09-01 21:19:33 928
原创 android.view.ViewRoot$CalledFromWrongThreadException 异常的解决方案Activity类runOnUiThread方法
在android平台下,进行多线程编程时,经常需要在主线程之外的一个单独的线程中进行某些处理,然后更新用户界面显示。但是,在主线线程之外的线程中直接更新页面显示的问题是:系统会报这个异常,android.view.viewroot$calledfromwrongthreadexception: only the original thread that created a view hierarch
2016-09-01 18:18:55 1791
原创 ubuntu下面启动重启停止mysql服务
service 脚本名 命令(stop/start/restart) 命令选项service mysql start/stop/restart 就启动,停止,重启了mysql服务。
2016-09-01 16:50:34 4539
原创 JDBC加入java项目以及tomcat项目中注意事项
java项目的只要将本地的jdbc的jar文件加入build path中即可。 tomcat项目先将jdbc的jar文件加入工程目录下的/webcontent/web-inf/lib/目录下,然后选中jar包右键选择build path ——》add build path。就可以了。
2016-09-01 12:10:14 3047
SQL必知必会第三第四版都有
2017-09-05
使用java动态代理技术实现简单的AOP切面编程实例
2017-03-05
关于图论方面学习我感觉很复杂,有没有比较好的切入点。或者有什么相关的书籍可以推荐。
2016-07-19
让你映像最深刻的用于处理非线性数据结构的算法,比如用于处理二叉树结构的算法。为什么。
2016-07-19
线性的数据结构主要有那些算法实现呢?
2016-07-19
TA创建的收藏夹 TA关注的收藏夹
TA关注的人