小编bur*_*rsk的帖子

Android - 将ProgressBar设置为垂直条而不是水平条?

我正在尝试使用ProgressBar作为计量显示器.我认为这将是一个简单的任务,并认为ProgressBar有一个属性设置为垂直,但我没有看到任何东西.

此外,我希望能够在栏的侧面显示标尺,如清楚地指示当前水平.

指针赞赏 - 谢谢!

android

28
推荐指数
9
解决办法
4万
查看次数

使用proguard的Android混淆应用程序会混淆库罐 - 或者是它?

我刚开始使用Proguard,所以我可能会犯一个新手的错误.我有一个应用程序,在我运行发布版本(使用Proguard进行混淆)后,它很快就崩溃了.我相信我已经将它缩小到这样一个事实,即它似乎混淆了我的参考库.在我的例子中,我的参考库用于定义我用于使用Google Protobuffers与其他设备通信的消息类.我正在使用,ant释放.我的proguard配置是:

-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*

-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class com.android.vending.licensing.ILicensingService

-keepclasseswithmembernames class * 
 {
    native <methods>;
 }

-keepclasseswithmembernames class * 
 {
    public <init>(android.content.Context, android.util.AttributeSet);
 }

-keepclasseswithmembernames class * 
 {
    public <init>(android.content.Context, android.util.AttributeSet, int);
 } …
Run Code Online (Sandbox Code Playgroud)

android proguard

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

Android蓝牙日志记录填满了logcat

我使用蓝牙聊天示例作为实现从手机到嵌入式设备的BT连接的起点.我能够成功连接到设备但是一旦建立连接,logcat就会因大量的日志记录而被覆盖.我第一次做BT聊天应用手机打电话时没有看到这种类型的日志记录.

这是一遍又一遍的重复.它基本上使logcat无法使用.到目前为止,我还没有找到一种方法来配置日志记录或为什么它记录这么多.任何见解将不胜感激.

03-08 14:29:04.941: DEBUG/BluetoothSocket.cpp(11422): availableNative
03-08 14:29:04.957: DEBUG/BluetoothSocket(11422): available
03-08 14:29:04.957: DEBUG/BluetoothSocket.cpp(11422): availableNative
03-08 14:29:04.971: DEBUG/BluetoothSocket(11422): available
03-08 14:29:04.976: DEBUG/BluetoothSocket.cpp(11422): availableNative
03-08 14:29:04.989: DEBUG/BluetoothSocket(11422): available
03-08 14:29:04.991: DEBUG/BluetoothSocket.cpp(11422): availableNative
03-08 14:29:05.016: DEBUG/BluetoothSocket(11422): available
03-08 14:29:05.016: DEBUG/BluetoothSocket.cpp(11422): availableNative
03-08 14:29:05.034: DEBUG/BluetoothSocket(11422): available
03-08 14:29:05.036: DEBUG/BluetoothSocket.cpp(11422): availableNative
03-08 14:29:05.050: DEBUG/BluetoothSocket(11422): available
03-08 14:29:05.051: DEBUG/BluetoothSocket.cpp(11422): availableNative
03-08 14:29:05.066: DEBUG/BluetoothSocket(11422): available
03-08 14:29:05.066: DEBUG/BluetoothSocket.cpp(11422): availableNative
03-08 14:29:05.081: DEBUG/BluetoothSocket(11422): available
03-08 14:29:05.081: DEBUG/BluetoothSocket.cpp(11422): availableNative
03-08 14:29:05.086: DEBUG/(2419): jw_if_rfcomm_cl_cback: jw_if_rfcomm_cl_cback event=BTA_JV_RFCOMM_READ_EVT
03-08 14:29:05.086: DEBUG/(2419): jv_forward_data_to_jni: …
Run Code Online (Sandbox Code Playgroud)

android bluetooth

13
推荐指数
2
解决办法
5848
查看次数

Android - Tabhost在Activity类中工作

好吧,我必须忽略一些愚蠢的东西,因为我无法让我的tabhost显示在我的Activity类中.当我尝试运行应用程序时,我正在接近可怕的力量.如果我扩展TabActivity,它会工作,但我不能这样做 [见下面的编辑],因为一旦我从我的原型项目中移动代码,它将在一个继承自Activity的自定义类中.

这是XML布局:

<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/tabhost"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">    
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">        
        <TabWidget 
            android:id="@android:id/tabs"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />            
        <FrameLayout 
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" />
    </LinearLayout>
</TabHost>
Run Code Online (Sandbox Code Playgroud)

以下是尝试创建和显示TabHost的类:

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.widget.TabHost;

public class my_proto extends Activity
{   
   /** Called when the activity is first created. */
   @Override
   public void onCreate(Bundle savedInstanceState)
   {
      Log.i(this.toString(), "OnCreate");

      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);

      Log.i(this.toString(), "get tab host");
      TabHost host = (TabHost)findViewById(R.id.tabhost); 
      host.setup();

      Log.i(this.toString(), "add tabs");
      host.addTab(host.newTabSpec("one")
                      .setIndicator("First Results")
                      .setContent(new …
Run Code Online (Sandbox Code Playgroud)

android android-tabhost

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

从服务启动的Android Toast仅显示一次

我有一个监视套接字连接的服务.当连接丢失时,它需要显示Toast通知用户它正在重新连接.这第一次工作正常.之后我在日志中看到了enqueueToast,但是没有显示toast.任何想法都表示赞赏.我认为这很容易添加,但我必须遗漏一些东西.

日志条目

INFO/NotificationService(118):enqueueToast pkg = com.abc callback=android.app.ITransientNotification$Stub$Proxy@43f7b100 duration = 1

调用Toast的代码

public class ConnectionService extends Service 
{ .....

public void restartConnection()
{
  try
  {
     Log.i(this.toString(), "Attempting to reconnect...");

     // increase the wait between each retry until the max is reached
     int sleepTime = reconnectCounter * MIN_RECON_WAIT;

     if (sleepTime > MAX_RECON_WAIT)
     {
        sleepTime = MAX_RECON_WAIT;
     }

     String msg = "The connection has been lost.  Restart attempt will start in: " + sleepTime/1000 + " seconds";

     Log.i(this.toString(), msg);
     Toast.makeText(getApplicationContext(), msg , Toast.LENGTH_LONG).show(); …
Run Code Online (Sandbox Code Playgroud)

android

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

Android,为通知启动的活动推荐的Intent标志

我遇到了一个有多个活动的应用程序的特殊问题.我有一个绑定到服务的屏幕管理器类.该服务轮询服务器以获取数据.屏幕管理器根据数据启动活动A,B或C. 它还允许用户选择显示其他活动,或者它可以根据服务中的新数据自动交换活动.目前所有导航都很有效,如果用户按下Home,当用户从Android主屏幕或最近运行的应用列表中按下应用图标时,适用的活动将返回到前台.

然后,我必须实现一个新功能来显示图标和通知.我首先通过在每个Activities onPause中设置活动不再可见时显示通知来实现此功能.像魅力一样工作,并为用户提供第三个选项,在主页按钮按下后重新显示应用程序.但是,如果来自服务器的数据(当应用程序未显示时)导致屏幕管理器更新要显示的活动,则会出现问题.我觉得我的活动堆栈搞砸了.我已经尝试了一个不同的模型,其中屏幕管理器处理通知并始终显示通知,每当活动更新时使用新的Intent更新它,但它仍然没有削减它.

当应用程序最小化和数据的变化,我可以看到屏幕管理程序调用startActivityForResult在新的活动,它看起来像Android的知道我们被最小化,并且不显示活动.然后我还可以通过屏幕管理器调用来完成旧的顶级Activity.

每个Activity当前在清单中设置为singleTop,在代码中设置为FLAG_ACTIVITY_SINGLE_TOP.当服务器上的数据没有改变时,我使用上面的任何一个来恢复应用程序我得到了我期望的并调用了Activity的onNewIntent.但是,当数据发生变化并且用户通过通知调用应用程序时,它会调用Activities onCreate.活动确实出现并运行,但是然后按下将我带到看起来像同一个Activity的另一个实例而不是退出.我只是仔细看看我的logcat,我看到2次调用Activity的onResume,但之后没有双打.

我觉得也许我只是错过了一些简单的东西,就像通知的意图上的另一个意图标志一样?谢谢你的任何想法!

notifications android

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

Android onClick阻止onFling

我有一个Activity,它实现了一个Gesture Detector来捕获用户输入导航到其他屏幕的输入.这工作正常 - 但是 - 我最近更新了一个派生自BaseActivity的类来添加onClick函数,现在click事件似乎阻止onFling被击中.onClick与我在屏幕上的TextView区域(在LinearLayout中)相关联.resultsClick方法使用XML布局中的onClick属性连接到TextView.

我试过在没有运气的情况下更改onSingleTapUp和onDown的返回值.我也尝试过将log语句添加到下面的所有函数中.当我在TextView区域中投掷时,它们都不会触发,但它们会在屏幕的其他区域上触发.

也许我使用了错误的搜索词,但我似乎无法找到解决这个问题的例子 - 但我确信此问题已经解决过了.

public class DerivedActivity extends BaseActivity
{
   ...
   /**
    * resultsClick - The user clicked on the Results area
    * @param v
    */
   public void resultsClick(View v)
   {
      try
      {
         Log.i(this.toString(), "resultsClick");
         startActivity(new Intent(this, Results_TabHost.class ));
      }
      catch (Exception e)
      {
         Log.e(this.toString(), "Exception" + e.toString());
      }

   }// end resultsClick
   ...
}
Run Code Online (Sandbox Code Playgroud)

这是实现GestureListener代码的基类

public class BaseActivity extends    ActivityGroup 
                          implements OnGestureListener
{
   ...
   private static final int SWIPE_MIN_DISTANCE = 120;
   private static final …
Run Code Online (Sandbox Code Playgroud)

android onclick gesture-recognition android-activity

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

Android活动与视图

对不起,我知道这个话题已经涉及了一些.我已阅读相关帖子,我仍然有点困惑.我正在开发一个应用程序,虽然原型将有3个主屏幕,但最终将有数十个.每个屏幕都将呈现动态变化状态或用户输入.为了可视化,需要布局类似于MS Word或典型PC的方式.它的顶部有一个状态栏,底部有一个导航栏,对于所有屏幕都是通用的(对于某些屏幕略有调整,比如不同的图标),我称之为需要更新的视图窗格.适用的布局.

状态,导航栏和每个屏幕都在其自己的布局xml文件中定义.对于我第一次嘲笑它,我只使用了ViewFlipper并将3个屏幕布局加载到其中.但是,这意味着目前我有一个主要的Activity,因为我继续添加屏幕,所以无法维护.

  1. 我认为每个屏幕布局都应该有一个关联的Activity类,它理解如何控制该屏幕.我需要弄清楚如何动态加载到中心窗格.但是我想我在另一篇文章中读到,使用多个活动可能会占用CPU和RAM.
  2. 目前我尝试将其中一个屏幕作为自己的Activity,并通过创建一个Intent而不是调用startActivity从主Activity中启动它.但是,这会导致新屏幕Activity驻留在主Activity之上.有趣的是,然后按下后退按钮取消了该活动并将我返回到主要部分.
  3. 到目前为止,我还没有想出如何设置不同的Activity控件在中心窗格中发生的事情.
  4. 如果我继续沿着多个Activity路径,我的主Activity应该从ActivityGroup继承吗?
  5. 在这种情况下,使用View类更适用吗?

我知道这是一篇很长的帖子.我很感激任何建议.谢谢!CB

android

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

Eclipse的Android设计视图res/values/strings.xml不再起作用了

我第一次启动项目时工作正常.我指的是编辑/添加strings.xml文件.它用于显示允许我更新它的设计和XML选项卡.现在它只是作为一张桌子出现.有任何想法吗?我不明白我怎么会搞砸了.我确实检查了我的另一个项目,我得到了相同的结果,所以我认为它与XML没有任何关系.

有任何想法吗?谢谢!

eclipse android

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