小编EGH*_*HDK的帖子

如何在Android中的文件中写入字节数组?

这是我创建文件的代码.

public void writeToFile(byte[] array) 
{ 
    try 
    { 
        String path = "/data/data/lalallalaa.txt"; 
        FileOutputStream stream = new FileOutputStream(path); 
        stream.write(array); 
    } catch (FileNotFoundException e1) 
    { 
        e1.printStackTrace(); 
    } 
} 
Run Code Online (Sandbox Code Playgroud)

当我尝试通过调用路径将文件发送到我的服务器时 String path = "/data/data/lalallalaa.txt";

我收到此logcat错误消息:

03-26 18:59:37.205: W/System.err(325): java.io.FileNotFoundException: /data/data/lalallalaa.txt
Run Code Online (Sandbox Code Playgroud)

我不明白为什么它找不到已经"假定"创建的文件.

java android bytearray file logcat

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

使用Android日历获取当前时间

我想在Android应用程序中获取当前时间(HH:MM:SEC:MILLISEC).我正在使用这段代码:

Calendar c = Calendar.getInstance(); 
int time_start = c.get(Calendar.MILLISECOND);
Run Code Online (Sandbox Code Playgroud)

"获取和设置的字段编号表示小时内的分钟.例如,在10:04:15.250 PM,MILLI为250."

我已经查看了其他方法,但是我找不到任何指定它会输出所有内容的东西.无论如何我能得到H:M:Sec:MilliSec?或者我只需要做类似的事情

c.get(Calendar.HOUR).get(Calendar.MINUTE).get(Calendar.SECOND).get(Calendar.MILLISECOND).
Run Code Online (Sandbox Code Playgroud)

java time android date android-calendar

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

Android"第一次"app用户教程

我试图创造一个开放的教程,包括四个窗格我的应用程序,但由于我是新来的Android,我要确保我正在考虑标志着这项任务的"完成"之前,我的所有选项.我知道三种方式,我只能真正完成一种方式.有本教程没有要求,但有些"想要的功能"将是一个滑动动作,以每个窗格将是不错的,以及图像和底部(导航圆圈)不动,并在上面不动的称号.

单程

4个独立的活动和4个独立的布局

第一次尝试

红色圆圈项目是textViews水平居中并从顶部推出.

白色圆圈项目是imageViews水平和垂直居中的.

紫色圆圈是imageViews水平居中并从底部推出.

第二种方式

一项活动有4个片段

片段很难学,但我读的越多/看到它们的教程,它们似乎只能用于平板电脑.这是实现这一目标的有效方法吗?

第三种方式

ViewPager?

http://android-developers.blogspot.com/2011/08/horizo​​ntal-view-swiping-with-viewpager.html

我之前从未使用过这个,但我知道这是一个选择.

最后的问题

更常使用哪种方式/实现此方法的正确方法是什么?有没有办法让中间部分(图像)滑入,但标题(顶部)和导航图像(底部)只是在图像滑入后才会改变?

android android-fragments android-viewpager

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

如何在Android中创建交互式地图

我需要我的应用程序的一部分,以获得由大约10栋建筑组成的正方形区域的交互式地图.您必须能够点击建筑物并获得有关它的一些信息.我知道有几种方法可以解决这个问题,但我希望有一些背景知识的人可以给我一些提示.

以下是我可以考虑实现这一目标的一些方法.

谷歌地图

我已经实现了Google Maps API,但效果很好,但实际上并没有我想要的效果.Google地图需要互联网连接,您可以访问整个地图.我需要把它锁在一个区域.

网页视图

这似乎是一个很好的选择.我确信我可以提供一个简单的图像映射,当您单击某个建筑物时,它会为您提供更多信息.唯一的问题是你还需要一个互联网连接.

OpenGL的?

我从来没有真正研究过这个问题,但我听说实施起来很困难而且很痛苦.它可以在本地运行,但值得吗?

有没有其他方法可以开发交互式地图?需要记住的是,我有一天也想把它移植到iOS上(如果有人也有这方面的经验)

java android google-maps opengl-es android-webview

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

Android Tabs + Sliding,如何实现ActionBarSherlock?

我正在使用Google的新工具来启动一个能够在三个标签之间切换的应用程序.

在此输入图像描述

这很好,但缺乏对旧设备的支持.

1.我在应用程序中添加了带有支持库的ABS.

2.我改变了public class MainActivity extends FragmentActivity implements ActionBar.TabListener {public class MainActivity extends SherlockFragmentActivity implements ActionBar.TabListener {

3.我仍然有很多错误,我甚至不知道这是否能在旧设备上正常工作.有没有人有关于如何实现与2.x及更高版本兼容的滑动标签的任何提示?

在此输入图像描述

更新:

我被困在alextsc答案的第6步 在此输入图像描述

java android actionbarsherlock android-actionbar

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

从display:none到display:block时,使用Javascript淡入元素

我有一个脚本,当按下单选按钮时显示一个元素.我试图淡化元素的显示,所以它不是那么突然.

JS:

document.getElementById('next').style.display = 'block';
document.getElementById('next').fadeIn(1000);
Run Code Online (Sandbox Code Playgroud)

除了动画淡入淡出之外,这种方法很好.我究竟做错了什么.我尝试将两个语句组合成一个语句,我也尝试在display:block之前设置淡入淡出,但它根本没有出现.对JS来说还是比较新的,所以我只想弄清楚什么是可能的.提前致谢

javascript

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

服务或线程或AsyncTask

请原谅我的问题,因为我对编程仍然很陌生,所以我不完全理解mainthreads,异步任务,服务和线程的概念.我正在阅读有关Android服务的文档,因为我想从主线程执行一些任务.它说:

如果您需要在主线程之外执行工作,但只有在用户与您的应用程序交互时,您应该创建一个新线程而不是服务.

1.他们说你离开应用程序后立即停止"线程"(即:主页按钮)?

例如,如果您想播放一些音乐,但只有在您的活动正在运行时,您可以在onCreate()中创建一个线程,在onStart()中开始运行它,然后在onStop()中停止它.还要考虑使用AsyncTask或HandlerThread,而不是传统的Thread类.有关线程的更多信息,请参阅进程和线程文档.

2.如果线程被烘焙到Java中,为什么android有AsyncTasks?

请记住,如果您确实使用了服务,它默认仍然在应用程序的主线程中运行,因此如果它执行密集或阻塞操作,您仍应在服务中创建新线程.

这基本上意味着,几乎每个服务基本上都会在其中创建一个线程吗?

4.在服务中启动AsyncTask是不是很糟糕?

java android android-service android-asynctask

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

共享时"FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET"的目的是什么?

我已经阅读了http://developer.android.com/guide/components/tasks-and-back-stack.html,我已查阅了相关文档FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET,但我仍然不明白为什么谷歌的员工决定将其包括在内它在他们关于分享的博客文章中.

http://android-developers.blogspot.com/2012/02/share-with-intents.html

这是他们的代码片段:

Intent intent=new Intent(android.content.Intent.ACTION_SEND);
intent.setType("text/plain");
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);

// Add data to the intent, the receiving app will decide what to do with it.
intent.putExtra(Intent.EXTRA_SUBJECT, “Some Subject Line”);
intent.putExtra(Intent.EXTRA_TEXT, “Body of the message, woot!”);
Run Code Online (Sandbox Code Playgroud)

文件说:

If set, this marks a point in the task's activity stack that should be cleared when the task is reset...
Run Code Online (Sandbox Code Playgroud)

我仍然不确定这面旗帜.我不确定我是否可以考虑将其包含在我的share()方法中,但如果Google在博客文章中使用它,那么我确信他们知道这种情况会发挥作用.提前致谢.

android android-intent back-stack android-sharing

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

将一个上下文从一个Activity传递给一个静态类是否永远保存该Activity?内存泄漏?

我正在尝试设计一个GCMHelper类.本质上,该类是单例,并且Activity可以请求单例设置为setupGCM().

GCMHelper.getInstance(MainActivity.this).setupGCM();

setupGCM()方法只会查看是否需要GCM注册(例如,app没有gcm,或者app更新需要新的gcm),如果不需要注册则不执行任何操作.

这是"ok",因为我的活动不需要触及GCM id值.一切都在singleton的setupGCM()方法中处理.setupGCM()在后台发生,因此控制权可以直接恢复到活动状态.没有UI延迟.GCM ID生成发生得很快,但我正在尝试解释文档中的以下错误.

public static final String ERROR_SERVICE_NOT_AVAILABLE

设备无法读取响应,或者服务器中有500/503可以在以后重试.应用程序应使用指数退避并重试.

所以我的setupGCM方法现在将继续尝试(确切地说是5次,每次重试之间的每个延迟之间增加几秒钟).但是如果用户按下并在所述活动上调用finish()会发生什么.现在活动已完成,但上下文仍然保存为单例.这会导致内存泄漏吗?

即使GCMHelper不是单身人士,也会发生这种情况.它是单例的原因是,下次创建活动时,它可以查看重新生成重试是否已在进行中.

如果我将MainActivity.this.getApplicationContext()传递给单例所需的上下文会发生什么.对于Activity来说会更好吗,因为它会被允许进行GC?

java android memory-leaks android-activity google-cloud-messaging

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

Android中的网络是否可用?

在我开始下载某些文件之前,我有这个代码块用于测试是否存在网络连接.我遇到的问题是我也在需要基于网络登录表格的网络上进行测试(类似于酒店,机场甚至飞机).我正在使用的这段代码对于这种情况完全没用.网络报告它isAvailableisConnected在这些情况下.这当然是个问题,因为我启动了失败的异步网络连接.我想知道是否有人知道我能做些什么来确保我"真正"联系,或者如果有人对这个问题有任何建议.

这是我的代码块:

ConnectivityManager manager = (ConnectivityManager) context
        .getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = manager.getActiveNetworkInfo();

Log.e("", "Network info: "+networkInfo+" toString?: "+networkInfo.toString());
Log.e("", "getTypeName: "+networkInfo.getTypeName());
Log.e("", "isAvailable: "+networkInfo.isAvailable());
Log.e("", "isConnected: "+networkInfo.isConnected());
Run Code Online (Sandbox Code Playgroud)

以下是我尝试过我的代码块和结果的用例.

Verizon的1x信号

Network info: NetworkInfo: type: mobile[CDMA - 1xRTT], state: CONNECTED/CONNECTED, reason: connected, extra: , roaming: false, failover: true, isAvailable: true, isConnectedToProvisioningNetwork: false 

toString?: NetworkInfo: type: mobile[CDMA - 1xRTT], state: CONNECTED/CONNECTED, reason: connected, extra: , roaming: false, failover: true, isAvailable: true, isConnectedToProvisioningNetwork: false

getTypeName: mobile
isAvailable: true
isConnected: true …
Run Code Online (Sandbox Code Playgroud)

java authentication networking android android-networking

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