小编Sam*_*muh的帖子

Android:下载数据时处理意外的互联网断开连接

我这里有一个将数据从远程服务器下载到文件的功能.我对我的代码仍然没有信心.我的问题是,如果在读取流并将数据保存到文件中并且突然我在互联网上断开连接时,下面的这些捕获异常会真的能够捕获到那种事件吗?如果没有,你能建议如何处理这类事件吗?

注意:我在一个线程中调用此函数,以便不阻止UI.

public static boolean getFromRemote(String link, String fileName, Context context){ 
        boolean dataReceived = false;
        ConnectivityManager connec =  (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);

            if (connec.getNetworkInfo(0).isConnected() || connec.getNetworkInfo(1).isConnected()){
                try {
                        HttpClient httpClient = new DefaultHttpClient();
                        HttpGet httpGet = new HttpGet(link);
                        HttpParams params = httpClient.getParams();
                        HttpConnectionParams.setConnectionTimeout(params, 30000);
                        HttpConnectionParams.setSoTimeout(params, 30000);
                        HttpResponse response;
                        response = httpClient.execute(httpGet);
                        int statusCode = response.getStatusLine().getStatusCode();
                        if (statusCode == 200){
                            HttpEntity entity = response.getEntity();



                            InputStream in = null;
                            OutputStream output = null;

                            try{
                                in = entity.getContent();

                                String secondLevelCacheDir = context.getCacheDir() + fileName;

                                File imageFile …
Run Code Online (Sandbox Code Playgroud)

java android exception-handling

8
推荐指数
1
解决办法
5192
查看次数

Skia Decoder无法解码远程Stream

我正在尝试打开JPEG图像的远程Stream并将其转换为Bitmap对象:

    BitmapFactory.decodeStream(
new URL("http://some.url.to/source/image.jpg")
.openStream());
Run Code Online (Sandbox Code Playgroud)

解码器返回null,在日志中我得到以下消息:

DEBUG/skia(xxxx): --- decoder->decode returned false
Run Code Online (Sandbox Code Playgroud)

注意:
1.内容长度不为零,内容类型为image/jpeg
2.当我在浏览器中打开URL时,我可以看到图像.

我在这里失踪的是什么?

请帮忙.谢谢.

android imageview skia

7
推荐指数
2
解决办法
7152
查看次数

Java中的全局异常处理程序

我正在考虑使用Thread.setDefaultUncaughtExceptionHandler(...)call 为我的(Android)移动应用程序(使用Java语法)设置一个全局的默认Exception处理程序.我想只是向用户显示带有适当消息的警报对话框.

设置时是否需要遵循任何问题,警告和规则 DefaultExceptionHandlers?任何最佳实践,如确保进程被杀死,完整的堆栈跟踪写入日志等?

可以为文档,教程等提供相关信息的链接值得欢迎.

谢谢.

java android exception-handling

7
推荐指数
1
解决办法
2126
查看次数

从Android上传图像到PHP服务器

我需要将图像上传到远程PHP服务器,该服务器需要HTTPPOST中的以下参数:

*$_POST['title']*
*$_POST['caption']*
*$_FILES['fileatt']*
Run Code Online (Sandbox Code Playgroud)

大多数互联网搜索建议:

下载以下类并尝试使用MultiPartEntity发送请求:

apache-mime4j-0.5.jar
httpclient-4.0-beta2.jar
httpcore-4.0-beta3.jar
httpmime-4.0-beta2.jar
Run Code Online (Sandbox Code Playgroud)

要么

使用URLconnection并自己处理多部分数据.

顺便说一下,我热衷于使用HttpClient类而不是java.net(或者是android.net)类.最后,我从Android源代码下载了Multipart类,并在我的项目中使用它们.

虽然这可以通过任何上述方法来完成,但我想确定这些是否是实现上述目标的唯一方法.我浏览了文档并找到了一个FileEntity课程,但我无法让它工作.

在Android应用程序中完成此操作的正确方法是什么?

谢谢.

android file-upload httpclient

6
推荐指数
1
解决办法
2万
查看次数

如何从InputStream中删除重音字符

我试图使用Pull解析器解析Android上的Rss2.0提要.

XmlPullParser parser = Xml.newPullParser();
parser.setInput(url.open(), null);
Run Code Online (Sandbox Code Playgroud)

feed XML的序言说编码是"utf-8".当我打开远程流并将其传递给我的Pull Parser时,我得到了无效的令牌,文档没有很好的异常.

当我保存XML文件并在浏览器(FireFox)中打开它时,浏览器报告文件中存在Unicode 0x12字符(严重重音?)并且无法呈现XML.

假设我对返回的XML没有任何控制权,处理此类情况的最佳方法是什么?

谢谢.

android diacritics xml-parsing

5
推荐指数
1
解决办法
3903
查看次数

如何模拟onLowMemory()?

我在onLowMemory()回调中添加了一些指令,并希望对它进行测试.是否有"直接"方法来测试应用程序子类的onLowMemory函数?

或者我是否必须通过启动许多应用程序并执行内存密集型任务来使手机超载?

谢谢.

android unit-testing

5
推荐指数
1
解决办法
1084
查看次数

自定义字体,MultiLine TextViews上的省略号,字形和毛刺

我需要在我的应用程序中使用自定义字体.

问题:对于ListViews包含具有ellipsize属性设置为true的多行TextView的行,我可以在省略号后看到一些难以理解的字符.显然,Android会使用我的自定义字体未知的某些字符(ZERO WIDTH NO BREAK-SPACE)填充字符串(在TextView中).

单行TextView似乎工作得很好.

隐藏这些字符或删除填充的最佳方法是什么?此外,是否有任何Helvetica字体的变体,可以免费获得ZERO WIDTH NO BREAK-SPACE字符?

谢谢.

fonts android

5
推荐指数
1
解决办法
1678
查看次数

在App小部件上聆听手势

我在Android中创建了一个应用程序小部件,并希望为其添加一些基于手势的功能.例如:当用户滑动时,显示新的数据集.AppWidgets不支持AFAIK手势,但我见过具有类似功能的小部件(例如HTC小部件相册和天气小部件).

请帮助我,让我知道我是否遗漏了什么.

欢迎链接到教程,文档或示例代码.

谢谢.

android android-appwidget

5
推荐指数
1
解决办法
843
查看次数

GingerBread上的MediaPlayer框架和Apple的HTTP Live Streaming支持

根据发行说明,StageFright取代了GingerBread版本中的OpenCore框架.似乎有很多讨论说:从Android 2.3开始,默认支持Apple的HTTP Live流媒体.甚至维基百科都提到了这一点.
但是,当我尝试使用捆绑的API演示运行Apple提供的测试流时, MediaPlayerDemo_Video.java我得到以下例外:

setDataSource('http://devimages.apple.com/iphone/samples/bipbop/gear1/
prog_index.m3u8')
connect to devimages.apple.com:80/iphone/samples/bipbop/gear1/
prog_index.m3u8 @0
INFO/NuCachedSource2(34): ERROR_END_OF_STREAM
error (1, -2147483648)
ERROR/MediaPlayerDemo(667): error: Prepare failed.: status=0x1
java.io.IOException: Prepare failed.: status=0x1
at android.media.MediaPlayer.prepare(Native Method)
at
com.video.stream.MediaPlayerDemo_Video.playVideo(MediaPlayerDemo_Video.java:
125)
at
com.video.stream.MediaPlayerDemo_Video.surfaceCreated(MediaPlayerDemo_Video.java:
181)
  ...
    surfaceChanged called
    Displayed com.video.stream/.MediaPlayerDemo_Video: +1s652ms (total
    +7s427ms)
    GC_EXPLICIT freed 2K, 55% free 2514K/5511K, external 716K/1038K,
    paused 183ms
    GC_EXPLICIT freed 17K, 52% free 2782K/5767K, external 716K/1038K,
    paused 87ms
    GC_EXPLICIT freed 68K, 50% free 2972K/5895K, external 2544K/3109K,
    paused 104ms
    request time …
Run Code Online (Sandbox Code Playgroud)

android http-live-streaming stagefright

5
推荐指数
1
解决办法
1万
查看次数

无法安装apk

我正在使用带有ADT 10.0插件的Eclipse Ganymede 并Android3.0 SDK构建我的应用程序.

当我尝试在手机上部署应用程序时,我在控制台上写了以下内容:

[2011-05-06 10:35:38 - MyProject] Failed to install MyProject.apk on device 
[2011-05-06 10:35:38 - MyProject] (null)
[2011-05-06 10:35:38 - MyProject] Launch canceled! 
Run Code Online (Sandbox Code Playgroud)

以下内容写入adb logcat:

INFO/zipro(2499): Could not find end-of-central-directory in Zip
DEBUG/asset(2499): failed to open Zip archive '/data/local/tmp/MyProject.apk'
WARN/PackageParser(2499): Unable to read AndroidManifest.xml of /data/local/tmp/MyProject.apk
WARN/PackageParser(2499): java.io.FileNotFoundException: AndroidManifest.xml
WARN/PackageParser(2499):     at android.content.res.AssetManager.openXmlAssetNative(Native Method)
WARN/PackageParser(2499):     at android.content.res.AssetManager.openXmlBlockAsset(AssetManager.java:523)
WARN/PackageParser(2499):     at android.content.res.AssetManager.openXmlResourceParser(AssetManager.java:491)
WARN/PackageParser(2499):     at android.content.pm.PackageParser.parsePackageLite(PackageParser.java:597)
WARN/PackageParser(2499):     at com.android.defcontainer.DefaultContainerService$1.getMinimalPackageInfo(DefaultContainerService.java:126)
WARN/PackageParser(2499):     at com.android.internal.app.IMediaContainerService$Stub.onTransact(IMediaContainerService.java:100)
WARN/PackageParser(2499):     at …
Run Code Online (Sandbox Code Playgroud)

android aapt

5
推荐指数
1
解决办法
1万
查看次数