我正在尝试使用ProgressBar作为计量显示器.我认为这将是一个简单的任务,并认为ProgressBar有一个属性设置为垂直,但我没有看到任何东西.
此外,我希望能够在栏的侧面显示标尺,如清楚地指示当前水平.
指针赞赏 - 谢谢!
我刚开始使用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) 我使用蓝牙聊天示例作为实现从手机到嵌入式设备的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) 好吧,我必须忽略一些愚蠢的东西,因为我无法让我的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) 我有一个监视套接字连接的服务.当连接丢失时,它需要显示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) 我遇到了一个有多个活动的应用程序的特殊问题.我有一个绑定到服务的屏幕管理器类.该服务轮询服务器以获取数据.屏幕管理器根据数据启动活动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,但之后没有双打.
我觉得也许我只是错过了一些简单的东西,就像通知的意图上的另一个意图标志一样?谢谢你的任何想法!
我有一个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) 对不起,我知道这个话题已经涉及了一些.我已阅读相关帖子,我仍然有点困惑.我正在开发一个应用程序,虽然原型将有3个主屏幕,但最终将有数十个.每个屏幕都将呈现动态变化状态或用户输入.为了可视化,需要布局类似于MS Word或典型PC的方式.它的顶部有一个状态栏,底部有一个导航栏,对于所有屏幕都是通用的(对于某些屏幕略有调整,比如不同的图标),我称之为需要更新的视图窗格.适用的布局.
状态,导航栏和每个屏幕都在其自己的布局xml文件中定义.对于我第一次嘲笑它,我只使用了ViewFlipper并将3个屏幕布局加载到其中.但是,这意味着目前我有一个主要的Activity,因为我继续添加屏幕,所以无法维护.
我知道这是一篇很长的帖子.我很感激任何建议.谢谢!CB
我第一次启动项目时工作正常.我指的是编辑/添加strings.xml文件.它用于显示允许我更新它的设计和XML选项卡.现在它只是作为一张桌子出现.有任何想法吗?我不明白我怎么会搞砸了.我确实检查了我的另一个项目,我得到了相同的结果,所以我认为它与XML没有任何关系.
有任何想法吗?谢谢!