小编Vin*_*rat的帖子

知道在Android 1.6/2.0/2.1上使用SoundPool加载声音是否成功

在Android 2.2+上有一个名为SoundPool.OnLoadCompleteListener的东西,可以知道声音是否已成功加载.

我的目标是较低的API版本(理想情况下为1.6,但可能是2.1),我需要知道声音是否已正确加载(因为它是由用户选择的).这样做的正确方法是什么?

我希望不要用MediaPlayer加载一次声音,如果SoundPool正确的话?

android soundpool

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

自定义HTML页面中的软键盘类型

当用户点击HTML页面中的文本输入字段时,有没有办法指定显示哪种软键盘布局(我只需要数字)?

我可以更改HTML页面和Javacode(我有一个嵌入WebView的活动).但是,如果我更改HTML代码,它必须不会影响其他平台(另一个浏览器/设备仍然应该正确解释输入字段并显示软键盘,而不一定只有数字键盘)

html android soft-keyboard

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

自定义DataMember名称以反序列化JSON类

我无法为属性指定自定义名称。我从服务器收到一些无法更改的JSON,但属性名称却很丑陋。我希望C#代码遵循命名约定。

下面是我的代码(result0.StringValue保持为空):

  [TestClass()]
  public class WebServiceResultConverterTest
  {
    [DataContract(Name = "SimpleObject")]
    private class SimpleObject
    {
        [DataMember(Name = "str_value")]
        public String StringValue { get; set; }

        [DataMember(Name = "int_value")]
        public String IntValue { get; set; }
    }

    [TestMethod()]
    public void DeserializeTest()
    {
        String input0 = @"{
          ""str_value"": ""This is a test string"",
          ""int_value"": 1664
        }";

        JavaScriptSerializer serializer = new JavaScriptSerializer();
        SimpleObject result0 = serializer.Deserialize<SimpleObject>(input0);

        Assert.AreEqual("This is a test string", result0.StringValue);
        Assert.AreEqual(1664, result0.IntValue);
    }
  }
Run Code Online (Sandbox Code Playgroud)

c# json datacontract datamember

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

Android OpenGL纹理:动态创建和删除它们

我目前正在实现一个3D查看器,它基本上呈现用户在SD卡上的所有图像的子集.我想到的最接近的匹配产品是CoolIris:

在此输入图像描述

它只是在屏幕上显示N个图块的滚动板,每个图块显示不同的图像,新的图块进入屏幕并显示新图像.

现在我的问题是:我让程序工作并且很好地渲染了四边形.当四边形离开屏幕时,它会被回收/释放.并且新的四边形在进入屏幕之前不断添加到瓷砖板.

因为可能有数百个图像,所以需要动态创建和删除纹理(这样我们就不会耗尽内存).我遇到的问题是,在删除纹理后,新创建的纹理似乎会获得当前正在使用的其他纹理的ID.

我的渲染循环如下所示:

void render(GL10 gl) {
  0. Move the camera

  // Tile board maintenance
  1. Remove tiles out of screen
  2. Add new tiles which are about to enter screen

  // Texture handling
  3. glDeleteTextures on all unused textures followed by glFlush
  4. For newly used images
     - Create corresponding Bitmap
     - Create the OpenGL texture, followed by glFlush
     - Release the Bitmap

  // Rendering
  5. Render the tile (using a textured quad)

}
Run Code Online (Sandbox Code Playgroud)

为了更好地了解数据的组织方式,以下是类的概述:

TileBoard { …
Run Code Online (Sandbox Code Playgroud)

android textures opengl-es loading

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

适用于多种屏幕大小的Android布局

我正在开发一款Android应用,我们针对所有屏幕尺寸进行定位?我如何制作布局?我应该为每种类型的屏幕制作不同的layout.xml,还是有其他"有效"的做事方式?

android android-layout

4
推荐指数
1
解决办法
6602
查看次数

了解Google Plus人员是否有真实照片

我的应用程序使用Google+ API列出了您圈子中的用户.除了一件事之外,它的效果很好:API没有说明用户是否有图片或图片只是占位符(蓝色轮廓).

https://developers.google.com/+/api/latest/people/list

{
  "kind": "plus#person",
  "etag": etag,

  "id": string,
  "displayName": string,
  "image": {
    "url": string
  },
}
Run Code Online (Sandbox Code Playgroud)

如何确定图片是否为占位符?(所以我不必下载它)

google-plus

4
推荐指数
1
解决办法
958
查看次数

Android Maps v2 - 动画相机以包含大多数标记

我有一组来自网络服务的点,需要在地图上显示.

我有一个当前的解决方案适用于大多数情况,使用众所周知的LatLngBounds.Builder,CameraUpdateFactory.newLatLngBoundsmap.animateCamera.

我有一些情况会产生问题:当点太远时,地图以这些点的重心上的最大缩放水平为中心.例如:我在法国有10分,在夏威夷有2分.地图中心或多或少地以最小缩放级别放置在caribeans上.因此,在屏幕上我没有显示任何内容,用户必须滚动到实际看到的东西在那里.

所以我的问题是:

有没有办法让地图缩小到足够远,以便我可以看到所有点(这将是首选)

或者:这将是滤除那些只有几个点离大多数点很远并选择一组点放大的情况的最好方法(在我的例子中,我会选择放大法国的10个点)并忘记夏威夷的那些.

android google-maps-android-api-2

4
推荐指数
1
解决办法
6299
查看次数

NSNonLossyASCIIStringEncoding等效于Android

我需要将一些聊天代码从iOS移植到Android.在将聊天消息发送到套接字之前,iOS代码使用NSNonLossyASCIIStringEncoding该类作为NSString :: dataUsingEncoding的参数.

你会如何在Android中做到这一点?关于相反解码的相同问题.

例如,如果不这样做,换行符就会消失在另一个移动设备上收到的消息中.

iOS上的代码:

NSData *data1 = [myStringTosend dataUsingEncoding:NSNonLossyASCIIStringEncoding];
NSString *goodValue = [[[NSString alloc] initWithData:data1 encoding:NSUTF8StringEncoding] autorelease];
Run Code Online (Sandbox Code Playgroud)

并解码:

NSData *data = [[NSData alloc] initWithData:[response dataUsingEncoding:NSASCIIStringEncoding]];
Run Code Online (Sandbox Code Playgroud)

到目前为止(并且不正确),在Android端进行编码:

OutputStream os = socket.getOutputStream();
os.write(request.getBytes("UTF-8"));
os.flush();
Run Code Online (Sandbox Code Playgroud)

并解码:

while ((bytesRead = is.read(buffer, 0, BUFFER_SIZE)) >= 0) {
    if (bytesRead > 0) response.append(new String(buffer, 0, bytesRead, "UTF-8"));
    if (bytesRead < BUFFER_SIZE) break;
}
Run Code Online (Sandbox Code Playgroud)

android nsstring ios

3
推荐指数
1
解决办法
3030
查看次数

使用Android Espresso在层次结构中查找视图

我有一个带自定义视图的仪表板.

我想测试一旦数据可用,它就会在各种文本视图中正确显示.

我的问题是:如果它们属于层次结构,我如何选择各种TextView.

示例:如何获得current_month > sales > value view

我只知道如何处理单个层次结构级别,但这对此没有帮助:

onView(
  allOf(withId(R.id.value), 
  isDescendantOfA(withId(R.id.current_month))))
Run Code Online (Sandbox Code Playgroud)

层次结构如下:

+- RelativeLayout
|
|___+ CustomCardView (id = current_month)
|   |
|   |___+ CustomValueView (id = sales)
|   |   |
|   |   |___+ TextView (id = value)
|   |   |
|   |   |___+ TextView (id = unit)
|   |
|   |___+ CustomValueView (id = earnings)
|       |
|       |___+ TextView (id = value)
|       |
|       |___+ TextView (id = unit)
|
|___+ CustomCardView (id …
Run Code Online (Sandbox Code Playgroud)

android android-espresso

3
推荐指数
1
解决办法
2472
查看次数

如何在android中使用hashmap vallue将bundle放入arraylist中

嗨朋友我正在使用像这样的hashmap arraylist ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>()我想把它放在bundle中可以任何人举例

谢谢

android

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

NFC广播问题

我真的读了10或20个关于这个的主题,不幸的是我没有让它工作.我的接收器可以捕获广播,但前提是我sendBroadcast(intent)从我的应用程序发送它.我想让它从NFC适配器捕获广播.Fe有人将NFC标签放在我的设备附近然后我的应用程序应该在浏览菜单中启动或显示,但这不会发生.即使我的应用程序启动,并且我将NFC标签放在设备附近,它也无法捕获它,并且在浏览菜单中我看到其他应用程序,这可以.我的接收者:

public class SomeBroadcastReceiver extends BroadcastReceiver {
private final String TAG = "SomeBroadcastReceiver";
@Override
public void onReceive(Context context, Intent intent) {
Log.d(TAG, "Got intent: " + intent);    
}
}    
Run Code Online (Sandbox Code Playgroud)

我的清单文件:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android.nfc">
<uses-permission android:name="android.permission.NFC" />
<uses-permission android:name="android.permission.INTERNET" />

<application
    android:icon="@drawable/icon"
    android:label="@string/app_name">

<receiver android:enabled="true" android:name=".broadcast.SomeBroadcastReceiver">
    <intent-filter>
        <action android:name="android.nfc.action.NDEF_DISCOVERED"/>
        <category android:name="android.intent.category.DEFAULT" />

            <action android:name="android.nfc.action.TECH_DISCOVERED"/>
        <meta-data android:name="android.nfc.action.TECH_DISCOVERED" android:resource="@xml/technologies"/>

        <action android:name="android.nfc.action.TAG_DISCOVERED"/>
</intent-filter>        
</receiver>

<activity android:name=".simulator.FakeTagsActivity"
    android:theme="@android:style/Theme.NoTitleBar">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

<activity android:name="TagViewer"
    android:theme="@android:style/Theme.NoTitleBar"> …
Run Code Online (Sandbox Code Playgroud)

android broadcast nfc

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

哪款传感器用于旋转android手机?

想象一下,你正指着电视.你把手机握在手里.现在,转动你的手腕.

我需要使用哪种传感器来检测这种运动?

陀螺仪?取向?加速度计?

android android-sensors

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

将Optional.absent()元素添加到Guava中的集合

我在这里找不到诀窍:我想要一个函数来返回一个可选对象列表,这意味着我的列表确实包含了这么多元素,但是其中一些元素无效.

public Optional<String> getMyObjects() {
  List<Optional<String>> result = Lists.newArrayListWithCapacity(2);

  result.add(Optional.of("This value is valid"));
  result.add(Optional.absent()); // Compiler error

  return result;
}
Run Code Online (Sandbox Code Playgroud)

这不编译:

The method add(Optional<String>) in the type List<Optional<String>> is not 
applicable for the arguments (Optional<Object>)
Run Code Online (Sandbox Code Playgroud)

你会怎么说呢?我试过铸造没有成功

java guava

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