小编Ser*_*iro的帖子

Facebook Audience Network Proguard设置

我目前正在我的应用程序中使用Proguard,并且Audience Network无法正常工作.我需要一些不同的配置,而不是通常的:

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

问题是集成指南没有提到任何类型的Proguard配置.有人已经遇到过这个问题,并找出了缺失的内容吗?

android facebook proguard facebook-audience-network

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

如何做一个编码良好的闪屏

我们都知道有很多关于如何在Android上进行启动画面的教程.但我们也知道这些都是伪闪屏.我搜索了很多,我总是看到Thread.sleep(x).这不是很好的编码,这只是为了使应用程序美观,看起来像一个专业的应用程序,这不是我想要的!
这些启动屏幕的另一个问题是它们无法解决我的问题,因为它们仅在活动开始显示并显示内容视图.

我有一个应用程序在初始化时执行很多操作,当应用程序启动时,用户会看到黑屏几秒钟,有足够的时间来烦恼.所以这就是为什么我想要显示一个编码良好的启动画面,删除在设置内容视图之前出现的黑屏.

我试了一下.我将启动画面(a RelativeLayout)包含在设置的布局中MainActivity,但据我所知,Android只会在加载完所有内容后显示内容,所以如果我试图从内容视图中显示一些视图我有等到一切都结束了.不过,我会发送我的代码,它可以帮助某种方式......

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    new SplashTask().execute();
}

private class SplashTask extends AsyncTask<Void, Void, Void> {

    @Override
    protected void onPreExecute() {
        initializeViews();
        mSplashScreen.setVisibility(View.VISIBLE);
    }

    @Override
    protected Void doInBackground(Void... params) {
        return null;
    }

    @Override
    protected void onPostExecute(Void params) {
        Standard.Initiate(MainActivity.this);
        verifyListStats();
        loadListAdapters();
        setOnClickListeners();
        mSplashScreen.setVisibility(View.GONE); 
    }

}
Run Code Online (Sandbox Code Playgroud)

我试图加载一些资源,doInBackground(...)但因为我做了一些操作onResume()需要那些资源我不能这样做(或者至少我认为我做不到).

任何的想法?我听说过类似于iOS发布图像的内置机制,也许这可能是一种方式.

java android splash-screen android-asynctask

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

MediaPlayer seekTo()不更新SurfaceView

我已经看到很多关于Android的MediaPlayer问题的问题,其中大部分都是因为这个seekTo()功能.现在我尝试使用它,它的效果与预期的一样:非常糟糕!

此功能似乎非常不一致,特别是当我们想要在视频暂停时提供其功能时.在我的情况下,我有30到60帧的视频,我想逐个播放它们 - 没有MediaMetadataRetriever.getFrameAtTime()提供的延迟.

我面临的问题是,当我打电话时seekTo(),它不会更新SurfaceView.它只能在第一次工作,之后才会SurfaceView保持不变,它永远不会再次更新.

我听说谣言seekTo()只能以最短1秒钟的间隔工作,但我用较长的视频进行了测试,并且在第二秒寻找也没有用.

mSurfaceHolder = mSurfaceView.getHolder();
mSurfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
mSurfaceHolder.addCallback(this);

mMediaPlayer = new MediaPlayer();
mMediaPlayer.setDisplay(mSurfaceHolder);

mMediaPlayer.setOnSeekCompleteListener(new OnSeekCompleteListener() {       
    @Override
    public void onSeekComplete(MediaPlayer mp) {
        // Need this postDelayed(), otherwise the media player always 
        // returns 0 in getCurrentPosition(), don't know why...
        Handler handler = new Handler();
        handler.postDelayed(new Runnable() {
            public void run() {
                mMediaPlayer.pause();
            }
        }, 100);
    }
});

mMediaPlayer.setDataSource(localfile_source);
mMediaPlayer.prepare();

// Set the …
Run Code Online (Sandbox Code Playgroud)

java video android android-mediaplayer

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

强制子类在重写方法上调用 super

在扩展类时,有时我们会忘记在已经实现的方法中调用超类实现。

当一个方法被覆盖而不是调用 super 时,有没有办法通过抛出错误或其他东西来防止这种情况发生?


例子

class MainClass implements OnInit
{
    ngOnInit() {
        // base implementation
    }
}

class InnerClass extends MainClass
{
    ngOnInit() {
        super.ngOnInit(); // ---> throw error if didn't call this line
        // additional implementation
    }    
}
Run Code Online (Sandbox Code Playgroud)

typescript

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

获取"ShortenedMonth/dd"格式的日期

有没有办法可以通过格式"MM/dd"获得日期,而不是月份是什么int,它缩短string为"1月30日"?

目前我用Java做了一个简单的Switch Case,但我想知道它是否已经包含在一个DateFormat或类似的东西中.

无论如何,我离开这里我当前的代码.我用过,R.string因为我的应用程序有多语言支持.

public void setShortMonth(){
   final Calendar calendar = Calendar.getInstance();
   int Month = calendar.get(Calendar.MONTH);
   String ShortMonth = " ";
   switch (Month){
        case 0: 
            ShortMonth = getString(R.string.Jan);
            break;
        case 1: 
            ShortMonth = getString(R.string.Fev);
            break;
        case 2: 
            ShortMonth = getString(R.string.Mar);
            break;
        case 3: 
            ShortMonth = getString(R.string.Apr);
            break;
        case 4: 
            ShortMonth = getString(R.string.May);
            break;
        case 5: 
            ShortMonth = getString(R.string.Jun);
            break;
        case 6: 
            ShortMonth = getString(R.string.Jul);
            break;
        case 7: 
            ShortMonth = getString(R.string.Aug); …
Run Code Online (Sandbox Code Playgroud)

java date date-format

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

如何动态更改输入值

我正在尝试向用户显示一些可编辑的结果,因此我通过输入字段显示它们.这是我正在做的一个基本的例子:

<div class="form-group">
    <label>First number</label>
    <input type="text" ng-model="first" ng-required="true" class="form-control">
</div>

<div class="form-group">
    <label>Second number</label>
    <input type="text" ng-model="second" ng-required="true" class="form-control">
</div>

<div class="form-group">
    <label>The sum is: {{first + second }}</label>
    <input type="text" ng-model="result" ng-required="true" class="form-control">
</div>
Run Code Online (Sandbox Code Playgroud)

在结果的div中,我使用了一个标签来测试结果是否正确获取,并且确实如此.但是,如果我编辑firstsecond值,则输入result不会更新.

这是使用的控制器(是的,表单是模态):

var ModalInstanceCtrl = function ($scope, $modalInstance) {

   $scope.result = $scope.first + $scope.second;

   $scope.confirm = function () {
      $modalInstance.close(result);
   };

   $scope.cancelNewBet = function () {
      $modalInstance.dismiss('cancel');
   };
};
Run Code Online (Sandbox Code Playgroud)

我认为,一旦我定义了它的获取方式,该值就会自动更新.但显然它错过了通过脚本改变结果的东西......

提前致谢.

angularjs

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

声明与某些基类属性同名的属性

我正在扩展一个模块,当我声明一些私有属性(例如method)时,我注意到了init(),发生此错误:

类型具有私有属性“ init”的单独声明

我知道造成这种情况的原因是,我在超类中有一个相同的方法,但是我不想因为在一个类中已经使用了一个我甚至不能访问它的名称而调用了不同的名称私人的!

我将方法声明为私有方法,正是为了避免这种情况。我不想重写它,但这不应该阻止我在另一个类中再次声明它。到底有什么意义?

typescript

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

更改Dialog标题的文本颜色

这似乎是一个非常简单的问题,但我搜索过,我找不到任何解决方案.我有一个包含内容的Dialog,就像这样:

在此输入图像描述

我想改变对话框标题"输入密码"的颜色.我该怎么做?

android android-dialog

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