小编kab*_*uko的帖子

Android facebook applicationId不能为null

我一直在按照以下教程将我的应用程序与Facebook集成. Facebook教程

我已经按照教程中的所有内容进行了操作,但是我遇到applicationId cannot be null了两个案例,而且非常令人沮丧.

FacebookActivity onCreate有以下内容,与教程完全相同:

public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState);
    uiHelper = new UiLifecycleHelper(this, callback);
    uiHelper.onCreate(savedInstanceState);
    setContentView(R.layout.main_fb);

    FragmentManager fm = getSupportFragmentManager();
    fragments[SPLASH] = fm.findFragmentById(R.id.splashFragment);
    fragments[SELECTION] = fm.findFragmentById(R.id.selectionFragment);

    FragmentTransaction transaction = fm.beginTransaction();
    for(int i = 0; i < fragments.length; i++) 
    {
        transaction.hide(fragments[i]);
    }
    transaction.commit();
}
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试显示我得到的活动时applicationId cannot be null,LogCat指向的行是:uiHelper.onCreate(savedInstanceState);

然后我尝试评论该行,并显示活动.但是现在当我点击它时LoginButton,我得到了相同的错误,但这次是指向facebook中的LoginButton类中的applicationId字段.

我已经在我的字符串值和我的清单中有Id,如下所示:

<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/APP_ID"/>
Run Code Online (Sandbox Code Playgroud)

我尝试使用代码获取Id,但没有任何改变.

究竟是什么造成了这一切?

android facebook

70
推荐指数
3
解决办法
4万
查看次数

如何在不安装的情况下检测Android APK是否在其清单中将debuggable设置为true或false?

正如标题所说,我希望能够在计算机上找到APK是否已将debuggable设置为true或false,而无需将其安装在设备上,运行它并查看它是否显示在DDMS中.

android android-manifest apk

9
推荐指数
3
解决办法
6428
查看次数

如何阻止ProGuard从类中剥离Serializable接口

是否有一种明确的方法可以阻止ProGuard将类更改为实现接口?

我有一个实现的类java.io.Serializable,让我们称之为com.my.package.name.Foo.我发现在运行ProGuard后,它不再实现了Serializable.我得到null我从投后Serializable,以Foofalse,如果我请与一个实例instanceof Serializable.我已确保将ProGuard设置为忽略此类:

-keep class com.my.package.name.Foo
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

-keep class com.my.package.name.Foo { *; }
Run Code Online (Sandbox Code Playgroud)

我也尝试了整个包:

-keep class com.my.package.name.** { *; }
Run Code Online (Sandbox Code Playgroud)

要么:

-keep class com.my.package.** { *; }
Run Code Online (Sandbox Code Playgroud)

并且还要保留所有Serializable课程:

-keep class * implements java.io.Serializable { *; }
Run Code Online (Sandbox Code Playgroud)

但无济于事.我在兄弟包(大致:)中有另一个类,com.my.package.name2.Bar它也实现Serializable和使用类似但没有问题.

我不确定它是否相关,但我将它装在一个罐子里用于Android.使用这些类的代码包括将它们放入Bundles中,这就是我需要的原因Serializable.我认为也许某种程度上ProGuard认为它Foo从未被用作a Serializable但似乎不太可能,因为我将它作为参数传递给我,Bundle.putSerializable(String, Serializable)并且我做了隐式演员:Serializable serializable = foo;.事实上,当我调试时,我可以看到Fooget into Bundle …

java android proguard serializable

9
推荐指数
2
解决办法
7142
查看次数

放大Tablelayout

我创造TableLayout.在TableLayout我创建动态行并在表行上添加按钮数.OnTouchListener应用于按钮以放大和缩小.当我移动我的手指慢慢放大并缩小工作正常但当我的手指移动快速缩放功能不能正常工作.

我的源代码是.
请建议我如何改进我的代码,当它以正常的方式工作

package com.exa;


import android.app.Activity;
import android.content.res.Resources;
import android.graphics.PointF;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.util.FloatMath;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnTouchListener;
import android.view.ViewGroup.LayoutParams;
import android.widget.Button;
import android.widget.RelativeLayout;
import android.widget.ScrollView;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;

public class DynamictablerowActivity extends Activity implements OnTouchListener,OnClickListener{
    /** Called when the activity is first created. */
     Button textView[][]= new Button[39][40];
     TableRow tableRow;
     TableLayout tableLayout;
     ScrollView sc;
     float c=10;
     RelativeLayout re;
     float olddistanc;
     static …
Run Code Online (Sandbox Code Playgroud)

android android-tablelayout

5
推荐指数
0
解决办法
2039
查看次数

GridView或TableLayout?

http://img683.imageshack.us/img683/645/weatherscreenmockupoutl.png

我问自己什么是编码这种布局的最佳方法.基本上我只需要知道如何获得具有相等宽度的七列.

提前致谢!

android android-layout android-gridview android-tablelayout

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

创建未显示在启动器列表中的主活动

我正在寻找一种方法让我的应用程序在直接从Android市场打开时启动活动,但不在启动器菜单中维护活动.我认为通过使用以下设置,我将能够实现这一点:

    <activity android:name="com.package.test.MyActivity" android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
        </intent-filter>
    </activity>
Run Code Online (Sandbox Code Playgroud)

但是,看起来使用这些设置,活动似乎甚至不存在于应用程序中 - 它无法从市场上打开,也不会出现在启动器菜单中.但是,只需添加:

<category android:name="android.intent.category.LAUNCHER" />
Run Code Online (Sandbox Code Playgroud)

该应用程序都做到了.问题是我确实希望活动从Market运行,但我不想在启动器菜单中运行它.

任何人都可以告诉我如何实现这一目标?

java android launcher manifest

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

Android TableLayout宽度问题

我正在使用TableLayout来显示数据.当活动调用onCreate()时,将设置右列TextView的文本.

现在,正如您在下图中看到的那样,我的地址文本可以很长并且应该被包装.所以我设置android:layout_width="wrap_content".但它仍然需要一个宽度的屏幕大小来包装数据.我怎样才能克服这个问题?

替代文字

我的xml:

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="5px">
    <TableRow>
        <TextView android:text="Job#"
            android:paddingRight="5px" />
        <TextView android:id="@+id/DetailJobNo" />
    </TableRow>
    <TableRow>
        <TextView android:text="Address"
            android:paddingRight="5px" />
        <TextView android:id="@+id/DetailAddress"
            android:layout_width="wrap_content"
            android:text="Address Address Address Address Address Address Address Address "/>
    </TableRow>
</TableLayout>
Run Code Online (Sandbox Code Playgroud)

android android-layout android-tablelayout

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

如何将JSONArray转换为ListView?

我有一个代码,它遵循以下 -

  1. 通过HttpClient连接到Web服务到PHP文件
  2. 返回SQL查询的结果
  3. 返回格式是jArray(JSONArray)

for(int i=0; i < jArray.length() ; i++) {
    json_data = jArray.getJSONObject(i);
    int id=json_data.getInt("id");
    String name=json_data.getString("name");
    Log.d(name,"Output");
}
Run Code Online (Sandbox Code Playgroud)

当我查看LogCat时,我看到了查询的所有"名称",每条记录都被打印出来.我只需要将这些结果插入ListView.我怎么能做到这一点?

PS - 我没有ArrayAdapter的单独类.这可能是原因吗?

java android json android-arrayadapter

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

如何从BroadcastReceiver开始活动?

我有一个广播接收器(c2dm推送接收器).当我收到推送时,我希望这种情况发生:

  • 启动通知,您将获得StopAlarmActivity(完成!)
  • 如果应用程序在前面,启动StopAlarmActivity(我该如何检查)

我的主要问题是我无法让广播接收器为我启动StopAlarmActivity.

我在清单中注册了广播接收器.

这是我用来尝试启动活动的代码:

Intent intentHome = new Intent(context, StopAlarmActivity.class);
          intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
          context.startActivity(intentHome);
Run Code Online (Sandbox Code Playgroud)

这是stacktrace消息:

11-20 00:29:30.514:E/AndroidRuntime(13612):java.lang.RuntimeException:无法启动接收器com.packagename.PushReceiver:android.util.AndroidRuntimeException:从Activity上下文外部调用startActivity()需要FLAG_ACTIVITY_NEW_TASK标志.这真的是你想要的吗?

我见过有些人说它只是为了意图添加FLAG_ACTIVITY_NEW_TASK,异常也告诉我,所以我真的不明白为什么它不起作用.

有人有个主意吗?提前致谢!

android broadcastreceiver android-intent android-activity

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

在活动之间滑动

我想在活动之间刷卡,但我不确定最佳做法是什么.

我应该立刻扔掉所有东西并从每个活动滚动吗?......这会造成记忆问题吗?

或者我最好实施实际滑动?

我还应该考虑其他方法吗?

最终游戏将是10-15个充满HTML的活动,组成一个杂志...所以我希望用户能够从每篇文章(每个活动1个)刷到另一个.

谢谢!

android scroll swipe android-viewpager android-activity

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