标签: android-2.1-eclair

为什么我的应用程序在我的设备上出现了4次?

当我将我的应用程序安装到设备或模拟器上时,它会在应用程序菜单中多次出现,在我的情况下,我会看到4个图标显示我的应用程序名称.

似乎每个图标代表一个活动,并且由于我的应用程序包含3个选项卡(带有活动),我的菜单上的前3个图标转到特定活动,第4个图标将我带到应用程序本身

这是我的表现

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.jameselsey"
      android:versionCode="1"
      android:versionName="1.0">

    <uses-sdk android:minSdkVersion="7" />  
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"></uses-permission>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>    
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.READ_CONTACTS" />
    <uses-permission android:name="android.permission.WRITE_CONTACTS" />

    <application    android:icon="@drawable/icon" 
                    android:label="@string/app_name" 
                    android:name="com.jameselsey.domain.GlobalState"
                    android:theme="@android:style/Theme.NoTitleBar">

        <activity android:name=".DefaultActivity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

         <activity android:name=".MyContactsActivity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

         <activity android:name=".MyMapsActivity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>   

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

android launcher android-2.1-eclair

5
推荐指数
3
解决办法
1535
查看次数

在活动之间转换时是否可以使用翻转动画?

当在活动之间转换时,例如呼叫startActivity();或使用back按钮时,屏幕从侧面滑入.

有没有办法改变这个?我有一个类似闪存卡的应用程序,所以当我从活动A转移到活动时,BI希望屏幕翻转就像转动真正的闪存卡一样.

开箱即用有没有办法做到这一点?或者这需要一些自定义动画?

animation android android-2.1-eclair

5
推荐指数
2
解决办法
1055
查看次数

无法从 Jenkins 签署 Android APK,但可以从命令行运行

我有以下构建环境:

  • 乌班图
  • Java 1.6.0_24
  • 阿帕奇蚂蚁1.8.2
  • 詹金斯 1.427
  • 码头 6.1.26

我可以从命令行(在 jenkins 工作区区域)创建一个发布 APK(经过压缩对齐和签名),方法是运行ant release并在提示时输入密钥库通行证。

但是,使用 Jenkins 作业中的相同构建命令会失败,并显示以下内容:

release:
     [echo] Signing final apk...
  [signjar] Signing JAR: /home/james/.jenkins/workspace/android-sam/androidsam/bin/AndroidSam-unsigned.apk to /home/james/.jenkins/workspace/android-sam/androidsam/bin/AndroidSam-unaligned.apk as mykeystore 
  [signjar] jarsigner: Certificate chain not found for: mykeystore .  mykeystore  must reference a valid KeyStore key entry containing a private key and corresponding public key certificate chain.

BUILD FAILED
/home/james/tools/android-sdk-linux_x86/tools/ant/main_rules.xml:641: jarsigner returned: 1
Run Code Online (Sandbox Code Playgroud)

在 jenkins ant 目标步骤中,我设置了以下属性:

key.store=my-release-key.keystore
key.alias=mykeystore 
key.store.password=<mypass>
key.alias.password=<mypass>
sdk.dir=/home/james/tools/android-sdk-linux_x86
Run Code Online (Sandbox Code Playgroud)

什么会导致詹金斯无法签名,从而从命令行执行相同的目标工作正常?

我用谷歌搜索了这个,发现有些人正在编写自己的 bash 脚本来签署他们的 APK,然后将它们作为 shell …

ubuntu continuous-integration android android-2.1-eclair jenkins

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

android的类比:filterTouchesWhenObscured的API等级低于9

从API级别9开始,有android:filterTouchesWhenObscured属性和相应的setFilterTouchesWhenObscured方法ViewGroup.例如,当视图已onClickListener设置且另一个视图遮挡该视图(例如覆盖面板,吐司或其他任何内容)时,触摸将不会传递到模糊视图 - 在我的示例中,onClick不会被触发.

但是,这在API级别7中不可用 - 对于我的项目,要求是Android 2.1及更高版本,这意味着我必须使用级别7.

有一个简单的方法吗?在级别7中,此属性基本上是硬编码为FALSE.结果,我得到了这种奇怪的行为:在一个视图上,我有一个按钮.按下时,另一个视图滑动到位,用按钮覆盖视图.在此视图中,有自己的按钮,但它与下方按钮的位置不匹配.因此,如果用户触摸下方按钮所在位置的覆盖面板,onClick则再次触发该按钮 - 而不是我想要/需要的按钮.

onClick在这种情况下,我该怎么办才能防止射击?谢谢.

android android-2.1-eclair obscured-view

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

修改按钮时onResume中的NullPointerException,为什么?

我从一些用户那里得到了一个N​​ullPointerException,我无法发现问题所在,它被抛到了这一行:

((Button)findViewById(R.id.speakEnglishButton)).setText("");

我无法看到有什么问题,该按钮存在该Id,它编译得很好,在我的模拟器和2个设备上正常工作,但是我在我的开发者控制台中为这个用户发布了大约100个左右的错误版.

仔细观察onResume:

@Override
protected void onResume()
{
    super.onResume();

    SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
    boolean isButtonLabelsEnabled = sp.getBoolean("isButtonLabelsEnabled", false);
    if (!isButtonLabelsEnabled)
    {
        ((Button)findViewById(R.id.speakEnglishButton)).setText("");
        ((Button)findViewById(R.id.speakFrenchButton)).setText("");
        ((Button)findViewById(R.id.speakSpanishButton)).setText("");
        ((Button)findViewById(R.id.speakGermanButton)).setText("");
        ((Button)findViewById(R.id.speakItalianButton)).setText("");
    }
    else
    {
        ((Button)findViewById(R.id.speakEnglishButton)).setText(getString(R.string.btnLblEnglish));
        ((Button)findViewById(R.id.speakFrenchButton)).setText(getString(R.string.btnLblFrench));
        ((Button)findViewById(R.id.speakSpanishButton)).setText(getString(R.string.btnLblSpanish));
        ((Button)findViewById(R.id.speakGermanButton)).setText(getString(R.string.btnLblGerman));
        ((Button)findViewById(R.id.speakItalianButton)).setText(getString(R.string.btnLblItalian));
    }
}
Run Code Online (Sandbox Code Playgroud)

基本上,我正在做的是检查保存的首选项布尔值,并根据其值,我要么在按钮上设置标签,要么将它们设置为空白.

任何人都可以建议吗?

谢谢

android android-ui android-2.1-eclair android-activity

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

android启动画面/加载画面

我有一个启动画面/加载屏幕,在我的大位图的绘制调用完成后立即有.setVisibility()到GONE.问题是启动画面需要一些弹出窗口,我认为这是由于主要活动启动并在首次运行时执行CPU密集型应用程序.有没有办法尽快显示我的启动画面?如果我在不同的线程中拥有它可能会好吗?启动画面只是一个位图,其下方有一个progressBar.我的布局是基于xml的,所以我看不到自己使用setContentView.谢谢.

multithreading android splash-screen android-2.1-eclair

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

Android 2.2的可靠性如何

自Android首次发布以来已经过了大约2年,并且已经有6到7款Android版本,与Windows手机不同.我发现在2.1和2.2之间有很多变化.调用我的本地服务的方式和其他方法已被弃用等.

那么Android 2.2的稳定性如何.我们会更频繁地发布吗?在2.2中开发是否会让我受伤?2.2听起来像一个子版本,它还没有基线.你的想法是什么?

android android-2.2-froyo android-2.1-eclair

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

在ListView - Android中轻扫手势

我是Android的新手.我有一个关于如何实现`listView 这里的教程:

我实现了它,它工作正常.我需要实现一个ViewSwitcher相同的.就像我刷这首歌一样,我需要得到一些选项,如播放,添加到队列等,

请完成该教程并寻求帮助.我差不多3个星期都在挣扎.

希望有人能帮助我.

编辑1:以下代码是主要活动:

import java.util.ArrayList;
import java.util.HashMap;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;

import android.view.GestureDetector;
import android.view.GestureDetector.OnGestureListener;
import android.view.MotionEvent;
import android.widget.ViewSwitcher;

public class CustomizedListView extends Activity implements OnGestureListener{
// All static variables
static final String URL = "http://api.androidhive.info/music/music.xml";
// XML node keys
static final String KEY_SONG = "song"; // parent node
static final String KEY_ID = …
Run Code Online (Sandbox Code Playgroud)

android swipe android-listview viewswitcher android-2.1-eclair

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

onMreate中的AdMob广告确定,但如果您返回活动就会消失,为什么?

我在我的活动中添加了一个广告,如下所示:

@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.languageselection);

    // Create the adView
    adView = new AdView(this, AdSize.BANNER, MY_AD_UNIT_ID);

    // Lookup your LinearLayout assuming it?s been given
    // the attribute android:id="@+id/mainLayout"
    LinearLayout layout = (LinearLayout) findViewById(R.id.ad_layout);

    // Add the adView to it
    layout.addView(adView);

    // Initiate a generic request to load it with an ad
    adView.loadAd(new AdRequest());


}
Run Code Online (Sandbox Code Playgroud)

这加载了广告.但是,如果我单击菜单按钮并修改某些共享首选项并返回,则广告已消失且无法重新填充.

这就是我从我的活动中导航的方式,注意我没有在活动上调用完成,因此在onCreate中创建的广告应该仍然存在?

@Override
    public boolean onOptionsItemSelected(MenuItem item)
    {
        switch (item.getItemId())
        {
            case R.id.aboutme:
                startActivity(new Intent(this, About.class));
                return true;
            case R.id.help:
                startActivity(new Intent(this, Help.class)); …
Run Code Online (Sandbox Code Playgroud)

android admob android-2.1-eclair

0
推荐指数
1
解决办法
1259
查看次数