Articles of java的

Android:如何获得用户的性别和年龄?

我有一个Android应用程序,我想根据用户的性别和年龄自动设置。 获得用户年龄和性别的不同方法有哪些? (符合Google Play政策) 例如,有没有办法通过Google Play服务获取这些信息? 谢谢。

同时播放Android的声音

我在Android上创建了一个游戏,我有点暂时解决这个问题,现在我回到它。 在我的游戏中,我有背景节拍,枪声,爆炸……等等,我需要能够同时播放它们。 现在,当我在SoundPool类上调用play时,当前正在播放的声音被中断,新的声音开始播放。 我的SoundManager类以及使用情况如下。 任何帮助都会非常感激,因为这是我第一次需要这么多音效的游戏。 谢谢! public class SoundManager { private SoundPool mSoundPool; private HashMap mSoundPoolMap; private AudioManager mAudioManager; private Context mContext; public SoundManager(Context theContext) { mContext = theContext; mSoundPool = new SoundPool(4, AudioManager.STREAM_MUSIC, 0); mSoundPoolMap = new HashMap(); mAudioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE); } public void addSound(int index, int SoundID) { mSoundPoolMap.put(index, mSoundPool.load(mContext, SoundID, 1)); […]

Android – 标签,MapView,标签内的活动

我们正在编写一个包含4个标签的应用程序:地图,人物,地点,活动。 应用程序中的人物,地点和事件在地图上显示为图标。 默认情况下,“人物”,“位置”和“事件”选项卡均显示列表视图,自定义呈现,分别显示所有人物,地点和事件。 alt text http://img.androidcookie.com/java/twitpic.com 现在,现在每个选项卡都有一个Intent设置为启动相应的活动。 例如,有一个扩展MapActivity的MapTabActivity,一个显示人员的ShowPeopleListActivity,依此类推。 我看到很多 StackOverflow 问题 /答案说由于TabHost设置方式的各种限制,最好不要将活动用作标签的内容。 例如,无法启动新活动并使其取代选项卡中的现有活动,而可以使用不同视图切换视图。 现在,我正处于十字路口。 我们(无论好坏)花了相当多的时间来尝试让这个应用程序以其当前结构的方式工作,将活动作为选项卡的内容。 当单击与Person,Place或Event对应的图标时,它会触发与该对象对应的URI上的VIEW Intent; 这是由一个活动拾取,然后显示该对象。 相同的机制在Map和单个列表中都起作用。 我们非常喜欢这为我们提供的松耦合; 我们只是给人/地点/事件提供一个VIEW命令和URI,它会自动将我们带到正确的活动中。 当然,启动的活动会覆盖标签视图而不是出现在其中,但我们愿意接受这一点。 这是一个问题:从Show活动中,我们希望能够回到地图,以该人,地点或事件为中心。 我们可以启动一个新活动来再次显示地图,但现在我们将地图活动作为选项卡的内容,加上show活动,以及活动堆栈中的新地图活动; 考虑到地图活动的资源密集程度,我猜这不是理想的方式。 我想我的问题是,是否有一个好的教程在某处显示如何使用TabHost执行复杂的任务? 我见过HelloTabWidget ; 我正在寻找比这更复杂的东西。 我担心如果我们切换到基于视图的处理方式,我们将不得不做大量的内务处理以拦截所有后台事件,尝试切换视图等等,以及以我们不想要的方式强烈耦合我们的程序。 对前进方向的任何建议都将非常感激。 我们是Android的新手,所以我们试图遵循既定的最佳实践,但是当我们看到的几个例子对于我们的用例而言过于简单时,这很困难。

如何在ExpandableListView中删除父项和子项之间的特定空间

你能帮我弄清楚为什么小组和孩子之间有空间吗? 在我的情况下,我想要所有组之间的空格,孩子应该在组的正下方没有空格(但当然空间到下一组。我的问题看起来像这样: 我已将Group divider设置为此drawable(expandable_list_group_divider): 和子分隔符(@ drawable / expandable_list_child_divider): 我在xml中定义了这样的布局(它是一个复合控件): 自定义视图类: public class MyExpandableListView extends ExpandableListView { protected ArrayList departures; public MyExpandableListView(Context context, AttributeSet attrs) { super(context, attrs); setGroupIndicator(null); setChildIndicator(null); setHorizontalFadingEdgeEnabled(true); setVerticalFadingEdgeEnabled(true); setFadingEdgeLength(60); departures = new ArrayList(); this.setAdapter(new MyExpandableListAdapter(context, this, departures)); } } 最后是可扩展列表适配器 public class DeparturesExpandableListAdapter extends BaseExpandableListAdapter { private final int DIVIDER_HEIGHT = 20; […]

什么是在Android和iOS中使用的最佳服务器客户端通信协议?

我们有一个服务器应用程序(用Java实现),它将为我们的移动应用程序提供一些数据。 这些应用程序将针对Android和iOS创建。 哪个是最适合此目的的协议/库? 协议的开销应该尽可能小。 谢谢。 编辑:它应该是一个请求 – >响应szenario。 数据丢失是不可接受的。 答案可能包含很长的数据列表,因此需要较少的开销。 客户端应该请求数据(指定的密钥和一些定义的参数),例如“从文件夹x给我所有具有扩展名y的文件”。 服务器回答列表。 第一个想法是使用XMLRPC,但生成的响应太大。

使用OpenCV进行椭圆检测

我想用OpenCV for Android检测省略号,使用OpenCV 2.4.1包中的Tutorial 2-Basic作为起点。 请注意,我的椭圆将是一个完美的Photoshop。 根据我的理解,使用“HoughCircles”只能find完美(或如此)的圆圈,从而留下椭圆。 任何帮助都会非常感激,因为我是OpenCV的初学者 这是我到目前为止所尝试的 case Sample2NativeCamera.VIEW_MODE_CANNY: (ignore the Canny mode…) capture.retrieve(mGray, Highgui.CV_CAP_ANDROID_GREY_FRAME); Imgproc.HoughCircles(mGray, mCircles, Imgproc.CV_HOUGH_GRADIENT, 1, 20); Log.d(“Ellipse Points”, ” X ” + mCircles.get(1,1)[0] + mCircles.get(1, 1)[1]); break; 如果您认为任何更多信息可能有用,请告诉我。

“不幸的是,Launcher已停止使用Android Nexus 6模拟器

在Nexus 6模拟器上测试我的2D游戏时,该应用程序首次启动并正常工作。 但当我关闭应用程序并尝试重新打开它时,我得到一个“不幸的是,启动器停止了”并且模拟器崩溃了。 这只发生在Nexus 6仿真器上,在其他较旧的AVD上应用程序重新打开。 发生这种情况时,Logcat中没有任何内容显示。 我想知道是否有人知道为什么会发生这种情况并且仅在Nexus 6仿真器上。 我怀疑以下罪魁祸首,但我不确定: 内存不足 – 我不会释放游戏中使用的任何位图资源,我应该这样做,如果是这样,它应该来自surfaceDestroyed()方法吗? 线程问题 – 可能是线程未正确关闭或重新启动? 任何帮助,将不胜感激!

android系统是否包含JVM?

我知道android系统包括Dalvik虚拟机(DVM)但是我不明白android系统是否包含JVM还是DVM是JVM的替代品? 谢谢

android项目中的project.properties

我刚刚从github克隆了这个,当我尝试将它作为android项目导入eclipse时,它没有default.properties。 为什么这样,我该如何处理?

函数参数中3个点的含义是多少?

我在Android文档中阅读有关AsyncTask的内容。 private class DownloadFilesTask extends AsyncTask { protected Long doInBackground(URL… urls) { int count = urls.length; long totalSize = 0; for (int i = 0; i < count; i++) { totalSize += Downloader.downloadFile(urls[i]); publishProgress((int) ((i / (float) count) * 100)); // Escape early if cancel() is called if (isCancelled()) break; } return totalSize; } protected […]