Android上传附件方法,直接复制可以用

Android上传附件方法,直接复制可以用 // 附件上传 public static String post(String actionUrl, String fileName) throws IOException { // 产生随机分割内容 String BOUNDARY = java.util.UUID.randomUUID().toString(); String MULTIPART_FROM_DATA = “multipart/from-data”; String CHARSET = “UTF-8”; // 定义URL实例 URL uri = new URL(actionUrl); // 定义HttpURLConnection实例,打开连接 HttpURLConnection conn = (HttpURLConnection) uri.openConnection(); // 设置从主机读取数据超时(单位:毫秒) conn.setReadTimeout(5 * 1000); // 设置允许输入 conn.setDoInput(true); // 设置允许输出 conn.setDoOutput(true); // 设置不允许使用缓存 conn.setUseCaches(false); // 设置为POST发送方法 conn.setRequestMethod(“POST”); // 设置维持长连接 conn.setRequestProperty(“connection”, “keep-alive”); // 设置文件字符集编码 conn.setRequestProperty(“Charset”, “UTF-8”); // 设置文件类型 conn.setRequestProperty(“Content-Type”, MULTIPART_FROM_DATA ...

2014年6月13日 · 2 分钟 · 天边的星星

Android 实现ListView的A-Z字母排序和过滤搜索功能,实现汉字转成拼音

转载请注明出处:http://blog.csdn.net/xiaanming/article/details/12684155 前段时间因为换工作的缘故又恰巧碰到国庆节,所以有段时间自己没有更新博客了,过完国庆到新公司报道,感觉还不错,就是现在住的地方离新公司有点远,地铁20站,伤不起啊,我每天早上7点多就要起床,然后屁颠屁颠的去挤地铁上班,晚上下班还要挤地铁,先不说路程远,车费一天就要10几块,我的银子啊,有坐龙华线去上班的深圳程序员不?听说那条线上班高峰期很挤?我没在上班高峰期坐过那趟车,我在民治那边找了个房子,离华强北也不远,关键房租便宜,哈哈,乐开花了,下个礼拜就要搬过去啦 不扯了,回到主题,今天给大家带来ListView的A-Z字母排序和过滤搜索功能并且实现汉字转成拼音的功能,我们知道一般我们对联系人,城市列表等实现A-Z的排序,因为联系人和城市列表我们可以直接从数据库中获取他的汉字拼音,而对于一般的数据,我们怎么实现A-Z的排序,我们需要将汉字转换成拼音就行了,接下来就带大家实现一般数据的A-Z排序功能,首先先看下效果图 上面是一个带删除按钮的EditText,我们在输入框中输入可以自动过滤出我们想要的东西,当输入框中没有数据自动替换到原来的数据列表,然后下面一个ListView用来显示数据列表,右侧是一个字母索引表,当我们点击不同的字母,ListView会定位到该字母地方,了解了布局之后,我们先看下项目结构吧 ![](http://img.blog.csdn.net/20131013204932718?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGlhYW5taW5n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) 我按照项目中类的顺序来一一介绍其功能 1.SortModel 一个实体类,里面一个是ListView的name,另一个就是显示的name拼音的首字母 <div class="dp-highlighter bg_java" style="color: #000000;"> <div class="bar"> <div class="tools" style="color: silver;"> **[java]** [view plain](http://blog.csdn.net/xiaanming/article/details/12684155#)[copy](http://blog.csdn.net/xiaanming/article/details/12684155#)[![在CODE上查看代码片](https://code.csdn.net/assets/CODE_ico.png)](https://code.csdn.net/snippets/111689)[![派生到我的代码片](https://code.csdn.net/assets/ico_fork.svg)](https://code.csdn.net/snippets/111689/fork) <div> </div> </div> </div> - <span style="color: black;"><span class="keyword" style="font-weight: bold; color: #006699;">package</span> com.example.sortlistview; </span> - <span style="color: black;"> </span> - <span style="color: black;"><span class="keyword" style="font-weight: bold; color: #006699;">public</span> <span class="keyword" style="font-weight: bold; color: #006699;">class</span> SortModel { </span> - <span style="color: black;"> </span> - <span style="color: black;"> <span class="keyword" style="font-weight: bold; color: #006699;">private</span> String name; <span class="comment" style="color: #008200;">//显示的数据</span> </span> - <span style="color: black;"> <span class="keyword" style="font-weight: bold; color: #006699;">private</span> String sortLetters; <span class="comment" style="color: #008200;">//显示数据拼音的首字母</span> </span> - <span style="color: black;"> </span> - <span style="color: black;"> <span class="keyword" style="font-weight: bold; color: #006699;">public</span> String getName() { </span> - <span style="color: black;"> <span class="keyword" style="font-weight: bold; color: #006699;">return</span> name; </span> - <span style="color: black;"> } </span> - <span style="color: black;"> <span class="keyword" style="font-weight: bold; color: #006699;">public</span> <span class="keyword" style="font-weight: bold; color: #006699;">void</span> setName(String name) { </span> - <span style="color: black;"> <span class="keyword" style="font-weight: bold; color: #006699;">this</span>.name = name; </span> - <span style="color: black;"> } </span> - <span style="color: black;"> <span class="keyword" style="font-weight: bold; color: #006699;">public</span> String getSortLetters() { </span> - <span style="color: black;"> <span class="keyword" style="font-weight: bold; color: #006699;">return</span> sortLetters; </span> - <span style="color: black;"> } </span> - <span style="color: black;"> <span class="keyword" style="font-weight: bold; color: #006699;">public</span> <span class="keyword" style="font-weight: bold; color: #006699;">void</span> setSortLetters(String sortLetters) { </span> - <span style="color: black;"> <span class="keyword" style="font-weight: bold; color: #006699;">this</span>.sortLetters = sortLetters; </span> - <span style="color: black;"> } </span> - <span style="color: black;">} </span> </div> <span style="color: #000000;"> 2.SideBar类就是ListView右侧的字母索引View,我们需要使用setTextView(TextView mTextDialog)来设置用来显示当前按下的字母的TextView,以及使用setOnTouchingLetterChangedListener方法来设置回调接口,在回调方法onTouchingLetterChanged(String s)中来处理不同的操作 ...

2014年6月10日 · 37 分钟 · 天边的星星

eclipse 中安装 maven 插件 ,建立maven工程

** 一、插件安装:** 1、下载maven插件 打开eclipse ,help-install new software add name : m2e url: http://download.eclipse.org/technology/m2e/releases/ (今天是2014-2-26,这个地址是有效的,以后不知道是否有效) name : m2e url: http://rgladwell.github.com/m2e-android/updates (2014-4-16,这个地址是有效的,以后不知道是否有效) 2、下载 maven-bin 下载地址 http://download.csdn.net/download/cyw8998/6963959 3、 下载下来之后,解压,找个路径放进去, 把bin的位置,设在环境变量里 新建环境变量MAVEN_HOME , PATH里配置解压后的bin路径 检查一下 进入cmd,运行mvn -v,如果显示出版本号,说明配置成功了。 4、 为了使得Eclipse中安装的Maven插件,同windows中安装的那个相同,需要让eclipse中的maven重新定位一下 Window -> Preference -> Maven -> Installation -> Add 现在就可以建立maven工程了。 二、建立工程: **方法A: ** 1、打开eclipse,通过工具new project出现如下窗口: 2、选中Maven Project, 点击Next,然后保持默认选项,再点击next,弹出如下窗口 3、在过滤器中输入android,如果你已经有这样的插件,将会显示出来,否则就需要通过Add Archetype按钮进行添加 4、 3-1、因为我之前已经安装了这三个插件,因此输入过滤器后直接就有了,如果系统没有找到android-quickstart插件,则需点击Add Archetype,弹出如下窗口,然后将所需要的插件的groupid,artifactid及版本号输入进去,根据准备工作中提及,分别是: de.akquinet.android.archetypes android-quickstart 1.0.6 如下图所示: 4、点击OK后,系统会去寻找相关的插件,然后选中此插件,再次点击Next,依次填入新工程的groupid, artifactid, package,如下图所示: 方法B: ...

2014年6月6日 · 1 分钟 · 天边的星星

Android判断正在运行的服务

public boolean isServiceRun(Context context){ ActivityManager am = (ActivityManager)context.getSystemService(context.ACTIVITY_SERVICE); List list = am.getRunningServices(30); for(RunningServiceInfo info : list){ if(info.service.getClassName.equals(“service的全称(一般为包名+service类的名称)”)){ return true; } } return false;}

2014年5月27日 · 1 分钟 · 天边的星星

Using Custom Compound Views in Android

On a recent client app, I ran into a situation where I needed an arbitrary number of EditText fields based on a selected value, where the user could enter people’s information. My initial thought was to put this logic in my Fragment, just adding EditTexts to a LinearLayout container as the selected value changes, but that bloated my Fragment, and didn’t allow for much reuse. ![](http://ryanharter.com/images/posts/compound_views/compound_friend_view.png) This was a perfect opportunity to encapsulate this interaction functionality in a custom view, which would be reusable throughout the app (required in two places so far), and would allow me to easily test the encapsulated functionality. # What Are Custom Compound Views The Android framework provides many Views and Layouts, but sometimes developers need to create their own. Sometimes these are extensions of the built in class to add functionality, like supporting custom fonts and letter spacing in TextViews. Other times these are simply because a built in view doesn’t exist for the desired functionality, like radial dials. What I’m talking about are custom compound views, views that are made up of multiple other views, whether those are builtin or custom, to encapsulate complex interaction and functionality. I use compound views in cases where a full fledged Fragment is more than I need, but I want reusable, testable components. The example I explained above is a great example of that. Since the code for that was for a client project, I’ve created a simple project to demonstrate creating and using custom compound views available [here](https://github.com/rharter/CompoundViews). # The Custom View In this example, we want a custom view that adds EditTexts so that the user can enter data for an arbitrary number of items. In a custom view, this can easily be done with a simple container view (LinearLayout) that sets the appropriate number of EditTexts, and allows you to easily fetch a list of names. Here’s the code: <div class="highlight" style="font-weight: inherit; font-style: inherit;"> <table style="font-weight: inherit; font-style: inherit;"> <tr style="font-weight: inherit; font-style: inherit;"> <td class="gutter" style="font-style: inherit;"> ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 ...

2014年5月20日 · 14 分钟 · 天边的星星

websocket开发第一篇

客户端与服务端基于HTTP和WebSocket网络协议来通讯,其中HTTP用于从客户端向服务端的请求,WebSocket用于从服务端向客户端的推送,因此服务器端需要支持HTTP和WebSocket两种协议。HTTP好说,所有Web服务器都支持,而支持WebSocket的倒不多。 Java阵营:Tomcat 7和Netty .Net阵营:System.Net.WebSockets Nodejs阵营:Socket.io WebSocket百度百科 1)Web通信的演进 2)WebSocket 3)WebSocket在Apache Tomcat 7(7.0.27 )的实现 4)怎样用Jaggery开发WebSocket特性 Tomcat 7中引入了WebSocket实现。下面我们先了解WebSocket的优缺点,其次简要介绍Apache Tomcat 7的WebSocket实现。 WebSocket的演进过程如图所示: 要知道在Tomcat 6中要实现双向HTTP通信,需要使用Tomcat的Comet处理模块。Comet有以下局限: 1)HTTP协议本身是请求/响应协议,而不是双向协议 2)代理和其它中间媒介不会工作的很好 3)在任何给定的时间只有某个方向的数据包传输 4)Servlet开发者要使用多线程很难 Servlet 3.0版引入了一个新特征:异步Servlet。我们把它与客户端的Ajax调用进行比较。异步Servlet会把请求悬挂起,直到响应准备好交付,无需在容器中使用worker线程。WebSockets是另一个尝试标准化的技术,它支持HTTP之上的异步、事件驱动和全双工通信。 WebSocket给我们带来了如下特性: 1)通过升级/交换HTTP协议,在HTTP之上提供全双工通信 2)基于消息/帧的通信 3)可以与代理和中间媒介一起工作 4)还可以不与代理和中间媒介一起工作 WebSocket的优点: 1)WebSocket是理想的,客户端和服务器之间不再需要长期运行的会话 2)WebSocket是HTTP协议之上的全双工通信 3)由于WebSocket是HTTP握手初始化之后的TCP之上的协议,所以你只需做两件事: 发送消息 接收消息

2014年5月20日 · 1 分钟 · 天边的星星

android的PreferenceActivity

前言 这段时间在研究android平台上的开源项目——StandupTimer,这是由jwood所设计的一个较为简单android应用,用于控制会议时间,类似秒表倒计时。 PreferenceActivity PreferenceActivity是android提供的对系统信息和配置进行自动保存的Activity,它通过[SharedPreference](http://developer.android.com/reference/android/content/SharedPreferences.html)方式将信息保存在XML 文件当中。使用PreferenceActivity不需要我们对SharedPreference进行操作,系统会自动对Activity 的各种View上的改变进行保存(这个真是太赞了!)。 在android项目中添加一个 android xml 文件需要注意的是这次选择的是 Preference。而不是以往的Layout ![](http://pic002.cnblogs.com/img/xinsuhui/201009/2010090109571786.gif) 这个文件是保存在 res /xml 路径下的。 PreferenceScreen xml preference下的View是有限的,只有下面几个: - CheckBoxPreference:CheckBox选择项,对应的值的ture或flase - EditTextPreference:输入编辑框,值为String类型,会弹出对话框供输入。 - ListPreference: 列表选择,弹出对话框供选择。 - Preference:只进行文本显示,需要与其他进行组合使用。 - PreferenceCategory:用于分组。 - RingtonePreference:系统玲声选择 更多关于 PreferenceScreen的介绍可以查看博客园上的一篇文章:[Android之PreferenceActivity](http://www.cnblogs.com/wservices/archive/2010/07/08/1773449.html) ![复制代码](http://common.cnblogs.com/images/copycode.gif) <div> <span style="color: #0000ff;"><?</span><span style="color: #ff00ff;">xml version=&#8221;1.0&#8243; encoding=&#8221;utf-8&#8243;</span><span style="color: #0000ff;">?></span> «/span>PreferenceScreen xmlns:android=”http://schemas.android.com/apk/res/android”> «/span>CheckBoxPreference android:key=”sounds” android:title=”@string/play_sounds” android:summary=”@string/play_sounds_summary” android:defaultValue=”true”></CheckBoxPreference> «/span>EditTextPreference android:key=”warning_time” android:title=”@string/warning_time” android:summary=”@string/warning_time_summary” android:defaultValue=”15″ android:inputType=”phone” android:digits=”0123456789″></EditTextPreference> «/span>CheckBoxPreference android:key=”unlimited_participants” android:title=”@string/unlimited_participants” android:summary=”@string/unlimited_participants_summary” android:defaultValue=”false”></CheckBoxPreference> «/span>CheckBoxPreference android:key=”variable_meeting_length” android:title=”@string/variable_meeting_length” android:summary=”@string/variable_meeting_length_summary” android:defaultValue=”false”></CheckBoxPreference> </PreferenceScreen> ...

2014年5月16日 · 2 分钟 · 天边的星星

开源2D HTML5渲染引擎CutJS

CutJS是一款专门用于跨平台游戏开发的开源2D HTML5渲染引擎,轻量级、快速、可交互,CutJS的优势可谓颇多。CutJS基于MIT许可协议发布,由Piqnt软件工作室推出,支持现代浏览器和移动设备,可用于Web、iOS、Android、Win8、Facebook、Chrome Web Store等平台游戏应用开发。 作为HTML5中新晋的标签元素,Canvas提供了基于JavaScript的2D和Bitmap图形API,但却没有像DOM之类的数据模型来帮助开发者编写应用,开发者必须手动绘制应用并对渲染循环进行管理以实现播放Canvas图形。此外,鼠标事件也只适用于整个Canvas层,并且还需手动处理。 而CutJS可以非常良好地解决这些问题。CutJS为开发者提供了一个类似于DOM树的数据模型来编写应用程序,并在内部管理渲染周期和应用绘制,还能处理并向目标树节点分发鼠标事件。 (文/唐小引 责编/刘璐璐) 传送门:CutJS官网、GitHub托管地址、mobilehub主页

2014年5月15日 · 1 分钟 · 天边的星星

开发者必备的十二大Android开发资源

无论你是经验丰富的专业Android开发者,还是初出茅庐的新人,开发应用最忌讳的就是闭门造车。不能把自己圈在自己的思维里,要学会借助外在现有的资源去协助开发,这样既不会让自己固步自封,还能够大大提高工作效率。在这里,本文介绍的这些资源包括工具、库和网站等,学会利用它们,将会对你的工作有着非常大的帮助。 1. OkHttp OkHttp是Square的一款产品,是一个Java的开源HTTP和SPDY客户端开发包,支持Android。Android自带的两个HTTP框架(HttpURLConnection和HttpClient),在各种Android OS版本一直充斥着错误,可以使任何理智的开发者走向崩溃。不过幸运地是,OkHttp解决了这些问题。OkHttp是建立在HttpUrlConnection上,从Android代码库保持最新的修复,这意味着再也没有与旧操作系统版本出现兼容性问题的噩梦。 相关链接:OkHttp的mobilehub主页 2. Retrofit Retrofit同样是Square的一款开源产品,用于Android平台的一个类型安全的REST客户端。就API而言,Android平台并不适合过多简单的客户端服务器交互,而Retrofit旨在提高对REST请求。Retrofit支持相当多的自定义,使用GSON为JSON解析,并且通过简化这一切成为简单的接口来为为构建形式和多部分请求节省大量的时间。 相关链接:Retrofit的mobilehub主页 3. Picasso 这个仍然是Square的开源项目,Picasso是一个用于Android平台上的下载和缓存图片的项目。它有许多定制选项,如何处理下载图片(包括调整和裁剪,以及提供一个接口让你随自己心意将图片转换成圆角等)。Picasso将要下载的图片(如果没有缓存)并将它负载到指定的目标,转换图片以适合所显示的ImageView,来减少内存消耗。 相关链接:Picasso的mobilehub主页 4. AndroidViews AndroidViews.net是一个网站,汇集了众多不同类型的工具、库和可浏览索引的资源。你不用重新开发已有的东西,可以节省很多时间。不过它还存在一个缺点就是,网站还不全面。 相关链接:AndroidViews的mobilehub主页 5. Android Weekly Android Weekly相当于是Android开发社区的实时通讯录,每周报导Android最新讯息,包括新的库、工具和博客等,只要你有Email,就可以对其进行订阅,了解更多关于安卓的消息。 相关链接:Android Weekly的mobilehub主页 6. Android Niceties Android Niceties集合了Android生态系统中一些精心设计、优雅精美的Android程序,是启发灵感的好资源。Android Niceties覆盖面极好,来自主要的平台应用比如Duolingo、Expedia、Etsy和之前依序还不为人知的Muzei、Timely和Pocket。 相关链接:Android Niceties的mobilehub主页 7. Android Lifecycle 展现了完整的Android片段和Activity的生命周期,Activity从新建到销毁,构成了一个生命周期,但要知道生命周期并不仅仅只包括这两个。而Android Lifecycle打印出的表图概述了Activity与Fragment在应用内部与外部和用户交互的流。 相关链接:Android Lifecycle的mobilehub主页 8. Android Asset Studio 这个网站已提供了大量的工具来简化创建各种Android相关的资源,包括启动栏图标、通知图标和导航抽屉图标等,让你不再为设计应用图标而发愁。 相关链接:Android Asset Studio的mobilehub主页 9. Android Holo Colors Generator 制作更加精美的图标,可以前往Android Asset Studio进行设计。该网站提供应用所需要的所有图标的生成工具,包括菜单图标、动作栏图标、标签栏图标、通知图标等,而且操作简单易行。 相关链接:Android Holo Colors Generator的mobilehub主页 10. DPI Calculator for Android 就像它的名字一样,这是一款专门用于Android平台的分辨率计算器,使用很简单,用户通过输入长、宽、对角线等,就可以计算出屏幕的实际分辨率来。 11. Android Developers YouTube Channel ...

2014年5月15日 · 1 分钟 · 天边的星星

安卓图片OCR识别技术 tesseract研究文档

针对安卓APP的 OCR图片识别技术研究与 DEMO: 鉴于大家都给我发私信要源码:现在更新源码 在下载(由于最近CSDN下载分不够了。。所以要了10分 还希望大家理解哦) http://download.csdn.net/detail/wei2253498/7146411 通过近端时间的在网络上的学习,了解了俩个OCR的技术,包括tesseract 和 openCv这俩个技术 主要研究了tesseract的OCR技术,并通过模拟器做了个demo app下面与大家分享过程,希望共同进步。 Tesseract OCR引擎是1995年UNLVAccuracy大赛中的排名前三的引擎。1995年到2006年间,它没有大的改进;之后,它被谷歌大幅改进,很可能是识别率最高的可用开源OCR引擎之一了。结合Leptonica图像处理库,它能读取各种各样格式的图像文件,识别出超过40多种语言的文本。 Tesseract的下载地址为: http://code.google.com/p/tesseract-ocr/downloads/list Tesseract for android 的 tess-two下载地址为: https://github.com/rmtheis/tess-two/archive/master.zip 接下来需要对下载下来的tess-two进行编译 如何用android ndk进行so的编译我放在了另外的一个文档中,大家请参考 也可以直接下载编译好的tess-two so文件 http://download.csdn.net/detail/uniquerhythm/5166651 编译好后,将src下的两个包以及libs导入到自己的项目就可以用啦 接下来我们还需要 tessract的android jar包 Android官方地址:tesseract-android-tools http://code.google.com/p/tesseract-android-tools/downloads/list?can=1&q= 但它必须要一个匹配库,即tessdata,我们可以从官方拷贝,在前面git的项目里面tesseract源码目录有现成的tessdata可以用,对于中文,googlecode上也有下载,当然也可以自己训练不同语言的tessdata。 包leptonica的类我们不必使用,只要使用tess包的类就行了 下面是 tessBaseAPI的主要用法 TessBaseAPI **[java]** [view plain](http://blog.csdn.net/wei2253498/article/details/8748741#)[copy](http://blog.csdn.net/wei2253498/article/details/8748741#)[print](http://blog.csdn.net/wei2253498/article/details/8748741#)[?](http://blog.csdn.net/wei2253498/article/details/8748741#)[![在CODE上查看代码片](https://code.csdn.net/assets/CODE_ico.png)](https://code.csdn.net/snippets/274921)[![派生到我的代码片](https://code.csdn.net/assets/ico_fork.svg)](https://code.csdn.net/snippets/274921/fork) <div> </div> </div> - <span style="color: black;"><span class="comment" style="color: #008200;">//////////////////////华丽的分割线//////////////////////////////////////////////////////</span> </span> - <span style="color: black;"> </span> - <span style="color: black;">TessBaseAPI baseApi=<span class="keyword" style="font-weight: bold; color: #006699;">new</span> TessBaseAPI(); </span> - <span style="color: black;"> </span> - <span style="color: black;"><span class="comment" style="color: #008200;">//初始化tess</span> </span> - <span style="color: black;"><span class="comment" style="color: #008200;">//android下面,tessdata肯定得放到sd卡里了</span> </span> - <span style="color: black;"><span class="comment" style="color: #008200;">//如果tessdata这个目录放在sd卡的根目录</span> </span> - <span style="color: black;"><span class="comment" style="color: #008200;">//那么path直接传入sd卡的目录</span> </span> - <span style="color: black;"><span class="comment" style="color: #008200;">//eng就是英文,关于语言,按ISO 639-3标准的代码就行,具体请移步wiki</span> </span> - <span style="color: black;">baseApi.init(<span class="string" style="color: blue;">&#8220;tessdata文件夹的父级目录&#8221;</span>,<span class="string" style="color: blue;">&#8220;eng&#8221;</span>); </span> - <span style="color: black;"> </span> - <span style="color: black;"><span class="comment" style="color: #008200;">//options是为了缩放图片,这个酌情缩放,图片小的话可以不缩放</span> </span> - <span style="color: black;">BitmapFactory.Options options=newBitmapFactory.Options(); </span> - <span style="color: black;"><span class="comment" style="color: #008200;">//缩小为原来的1/2</span> </span> - <span style="color: black;">options.inSampleSize=<span class="number" style="color: #c00000;">2</span>; </span> - <span style="color: black;"> </span> - <span style="color: black;"><span class="comment" style="color: #008200;">//bitmap,我这里是以流的形式,只要能形成Bitmap就行</span> </span> - <span style="color: black;">Bitmap bitmap = BitmapFactory.decodeStream(instream,<span class="keyword" style="font-weight: bold; color: #006699;">null</span>,options); </span> - <span style="color: black;"> instream.close(); </span> - <span style="color: black;"><span class="comment" style="color: #008200;">//设置要ocr的图片bitmap</span> </span> - <span style="color: black;">baseApi.setImage(bitmap); </span> - <span style="color: black;"><span class="comment" style="color: #008200;">//根据Init的语言,获得ocr后的字符串</span> </span> - <span style="color: black;">String text= baseApi.getUTF8Text(); </span> ...

2014年5月9日 · 2 分钟 · 天边的星星