小编nha*_*man的帖子

关于实际的推理

我正在尝试将OpenJML与Z3结合使用,而我正试图推理doublefloat重视:

class Test {

  //@ requires b > 0;
  void a(double b) {
  }

  void b() {
    a(2.4);
  }
}
Run Code Online (Sandbox Code Playgroud)

我已经发现OpenJML AUFLIA用作默认逻辑,不支持reals.我现在正在使用AUFNIRA.

不幸的是,该工具无法证明此类:

? java -jar openjml.jar -esc -prover z3_4_3 -exec ./z3 Test.java -noInternalSpecs -logic AUFNIRA

Test.java:8: warning: The prover cannot establish an assertion (Precondition: Test.java:3: ) in method b
    a(2.4);
     ^
Test.java:3: warning: Associated declaration: Test.java:8: 
  //@ requires b > 0;
      ^
2 warnings
Run Code Online (Sandbox Code Playgroud)

为什么是这样?

java z3 openjml

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

在标签内切换片段

我正在创建一个使用ActionBarSherlock的应用程序.该应用程序由三个选项卡组成,在每个选项卡中,根据用户输入连续显示多个屏幕.我能够在选项卡之间切换片段,但是选项卡中切换片段会产生问题.我试过这样的:

在主要班级:

SingleStationFragment singleStationFragment = new SingleStationFragment();
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(android.R.id.content, singleStationFragment);
transaction.addToBackStack(null);
transaction.commit();
Run Code Online (Sandbox Code Playgroud)

确实替换了第二个片段的第一个片段,但是当我更改制表符时,第二个片段仍然可见,在旧选项卡的内容顶部显示新选项卡的内容.我想某种方式我需要分离第二个片段onTabUnselected,但我不知道如何获得对这个片段的引用.

谁能帮我这个?

为清楚起见,一些重要的类:

我的主要课程:

public class TreinVerkeer extends SherlockFragmentActivity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setupTabs(savedInstanceState);

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getSupportMenuInflater();
        inflater.inflate(R.menu.menu, menu);
        return true;
    }

    private void setupTabs(Bundle savedInstanceState) {
        ActionBar actionBar = getSupportActionBar();
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

        Tab tab = actionBar.newTab().setText("STATIONS").setTabListener(new TabListener<StationsFragment>(this, "stations", StationsFragment.class));
        actionBar.addTab(tab);

        tab = actionBar.newTab().setText("ROUTE").setTabListener(new TabListener<RouteFragment>(this, "route", RouteFragment.class));
        actionBar.addTab(tab); …
Run Code Online (Sandbox Code Playgroud)

tabs android actionbarsherlock

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

Google Play Services版本5.2.08对我的设备来说太近了

我使用这种方法来检查播放服务的可用性:

private boolean checkPlayServices() {
    int status = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);
    if (status != ConnectionResult.SUCCESS) {
        if (GooglePlayServicesUtil.isUserRecoverableError(status)) {
            showErrorDialog(status);
        } else {
            Toast.makeText(this, "This device is not supported.", Toast.LENGTH_LONG).show();
            finish();
        }
        return false;
    }
    return true;
}
Run Code Online (Sandbox Code Playgroud)

status 现在,当我运行应用程序时,它被设置为2,表明已安装的游戏服务需要更新,即使游戏商店没有为游戏服务存储更新.

isUserRecoverableError调用对话框说:

更新Google Play服务 - 除非您更新Google Play服务,否则此应用无法运行

这是在我通过SDK管理器更新我的Android SDK之后发生的,该管理器更新了"Google Repository"(如果我没记错的话,"谷歌播放服务",尽管昨天更新了没有任何问题).

Android Studio告诉我播放服务版本是5.2.08.

我能做什么?例如,我可以在依赖项部分强制使用较低版本吗?

compile 'com.google.android.gms:play-services:+'
Run Code Online (Sandbox Code Playgroud)

android google-play-services

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

使用Square的Retrofit Client,是否可以取消进行中的请求?如果是这样的话?

我正在使用Square的Retrofit Client从Android应用程序发出短暂的json请求.有办法取消请求吗?如果是这样,怎么样?

java networking android retrofit

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

使用Context启动另一个Activity

要启动一个Activity,你需要一个Intent,比如:

Intent i = new Intent(context, class)
Run Code Online (Sandbox Code Playgroud)

因此,要填写上下文参数,可以使用以下几个选项:

  • 使用MyActivity.this或只是this
  • 使用 getApplicationContext()
  • 使用 getBaseContext()

我相信还有一两个选择.这些选项都出现在某种教程中,一个使用第一个,另一个使用第三个选项.

那么我应该使用哪一个?它甚至重要吗?不同的情况有什么不同吗?

android android-context

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

Laravel隐藏属性.例如密码 - 安全

根据http://laravel.com/docs/eloquent,可以通过在模型中使用受保护的$ hidden变量来隐藏数组或JSON转换中的属性.

class User extends Eloquent {
    protected $hidden = array('password');
}
Run Code Online (Sandbox Code Playgroud)

很好,但是当运行print_r(User::all())加密密码时,会在User对象内部从服务器发送到客户端.

这不仅限于print_r(),如果查询特定用户,$user->password将在视图中显示加密密码.

有办法阻止这个吗?每次查询我的用户对象时,密码都将作为数据的一部分与其一起发送,即使它不是必需的.

Illuminate\Database\Eloquent\Collection Object
(
[items:protected] => Array
    (
        [0] => User Object
            (
                [hidden:protected] => Array
                    (
                        [0] => password
                    )

                [connection:protected] => 
                [table:protected] => 
                [primaryKey:protected] => id
                [perPage:protected] => 15
                [incrementing] => 1
                [timestamps] => 1
                [attributes:protected] => Array
                    (
                        [id] => 1
                        [email] => admin@admin.com
                        [first_name] => Admin
                        [last_name] => User
                        [password] => $2y$10$7Wg2Wim9zHbtGQRAi0z6XeapJbAIoh4RhEnVXvdMtFnwcOh5g/W2a
                        [permissions] => 
                        [activated] => …
Run Code Online (Sandbox Code Playgroud)

php authentication laravel eloquent

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

Android Lint:忽略库项目

我有一个使用ActionBarSherlock库的项目.当我在我的项目上运行Lint时,我在ActionBarSherlock中收到了很多错误和警告,我不在乎.

如何仅在我的项目上运行Lint,而不是它使用的库?(注意:我正在使用'Check MyProject'选项).

android android-lint

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

带有包装文本的TextView的getMeasuredHeight()

我试图TextView 绘制之前确定a的高度.我正在使用以下代码来执行此操作:

TextView textView = (TextView) findViewById(R.id.textview);
textView.setText("TEST");
int widthSpec = MeasureSpec.makeMeasureSpec(LayoutParams.MATCH_PARENT, MeasureSpec.EXACTLY);
int heightSpec = MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED);
textView.measure(widthSpec, heightSpec);
System.out.println("MeasuredHeight: " + textView.getMeasuredHeight());
Run Code Online (Sandbox Code Playgroud)

输出是MeasuredHeight: 28.没有错.

但是,当我给出TextView一个长文本字符串,所以发生包装时,它仍然给出一行而不是两行的高度:

(...)
textView.setText("TESTTESTTESTTESTTESTTESTTESTTESTTESTTESTTESTTESTTESTTESTTESTTESTTEST");
(...)
Run Code Online (Sandbox Code Playgroud)

输出是MeasuredHeight: 28我所期望的MeasuredHeight: 56.

为什么它没有给我正确的价值,我怎样才能达到正确的价值?

android android-layout

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

背景drawables定义视图大小

为了清楚起见,这个问题已被大大编辑.

假设我的.png资源为100x100px:
在此输入图像描述

我想使用该图像作为我的TextViews 的背景,其大小由其内容决定,该内容在运行时是可变的.特别是,我想要在TextView尺寸大于100x100px 时平铺图像,并且我希望在TextView小于100x100px 时裁剪它.

后者似乎很难.

示例代码

我有一个可绘制的资源bg_tile.xml:

<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/bg"
    android:tileMode="repeat" />
Run Code Online (Sandbox Code Playgroud)

我的布局文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="8dp"
        android:background="@drawable/bg_tile"
        android:text="Short text"
        android:textSize="20sp" />

    <TextView android:layout_margin="8dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/bg_tile"
        android:text="Long text long text long text long text long text long text long text long text long textlong text long text long text long text long text long text long text long text long textlong …
Run Code Online (Sandbox Code Playgroud)

android

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

Square Dagger IllegalStateException:无法加载类MyApplicationModule的模块适配器

我在我的Android项目中使用eclipse和Dagger 1.2.2.我设法用Dagger实现了一个测试应用程序.但是通过我的"真实"应用程序,我得到:

java.lang.RuntimeException:无法创建应用程序app.MyApplication:java.lang.IllegalStateException:无法加载类app.MyApplicationModule的模块适配器.请确保为此模块运行代码生成.:

FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to create application app.MyApplication: java.lang.IllegalStateException: Module adapter for class app.MyApplicationModule could not be loaded. Please ensure that code generation was run for this module.
    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4687)
    at android.app.ActivityThread.access$1400(ActivityThread.java:159)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1376)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:137)
    at android.app.ActivityThread.main(ActivityThread.java:5419)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:525)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1209)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1025)
    at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.IllegalStateException: Module adapter for class app.MyApplicationModule could not be loaded. Please ensure that code generation was run for this module.
    at …
Run Code Online (Sandbox Code Playgroud)

android dependency-injection dagger

15
推荐指数
2
解决办法
7485
查看次数