小编Chr*_*ian的帖子

测量短距离

什么是无线测量两个物体(计算机,智能手机或专用设备)之间距离的最佳方法,这两个物体相距几米,精度达到~10厘米?这可能通过在WLan,蓝牙或GPS上进行捎带吗?

distance sensor

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

实习方法概念混淆作为输出随着不同版本而改变

对于Java 1.6版,输出是false true,但是对于版本1.8,输出更改为true true.

有人可以解释为什么会这样吗?

Intern方法用于引用堆中创建的对象的相应字符串常量池,如果该对象不存在,则它将创建String常量池.如果我的理解是错误的,请纠正我.

public class Intern_String2 {

 public static void main(String[] args) {

  String s1 = new String("durga");  //object created in heap

  String s2 = s1.concat("software");
  //object durga software created in heap at runtime

  String s3 = s2.intern();
  // create durga software object in string constant pool as none exist.

  System.out.println(s2==s3);//should be false but print true in 1.8 version.

  String s4 = "durgasoftware";
  System.out.println(s3==s4);//prints true in both version..      
 }
}
Run Code Online (Sandbox Code Playgroud)

java string

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

在Android中使用putSerializable

putSerializable坏了吗?

当我使用putSerializable传递null时,FillSummary.class将按原样启动.但是,如果我传递了一个TestSerial对象而不是Android force关闭.

要通过Bundle传输自定义对象,我该怎么办?

public class TestSerial implements Serializable{
    private static final long serialVersionUID = 2310640779687082782L;
    public int i;
    public TestSerial(){
        i=1;
    }
}

private void renderSummary(){

    Intent intent = new Intent(FillForm.this, FillSummary.class);
    Bundle extras = new Bundle();

    extras.putSerializable("test serial", new TestSerial());
    intent.putExtras(extras);

    startActivityForResult(intent, Forms.DISPLAY_SUMMARY);
}
Run Code Online (Sandbox Code Playgroud)

错误:

06-28 13:56:02.436: ERROR/AndroidRuntime(1136): Uncaught handler: thread main exiting due to uncaught exception
06-28 13:56:02.784: ERROR/AndroidRuntime(1136): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=0, result=-1, data=Intent { action=Return user choice (has extras) }} to activity {com.Questionaire/com.Questionaire.FillForm}: …
Run Code Online (Sandbox Code Playgroud)

android

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

接管Android上的音量键

我想在Volume Up和Down上接受过量输入.目前我的代码是:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {

    Log.v(TAG, event.toString());
    if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN){
        mLamp.moveBackward();

        return false;
    }
    else if(keyCode == KeyEvent.KEYCODE_VOLUME_UP){
        mLamp.moveForward();

        return false;
    }

    return true;
}
public boolean onKeyUp(int keyCode, KeyEvent event) {

    Log.v(TAG, event.toString());
    if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN){
        return false;
    }
    else if(keyCode == KeyEvent.KEYCODE_VOLUME_UP){
        return false;
    }

    return true;
}
Run Code Online (Sandbox Code Playgroud)

这会触发mLamp.moveBackward()mLamp.moveForward()功能,但它仍然会改变铃声的音量.我需要做些什么才能使铃声响度不变?

android

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

Java初始化类而不重复自己

是否有可能更简洁地重写以下内容,我不必重复写this.x = x;两次?

public class cls{
    public int x = 0;
    public int y = 0;
    public int z = 0;

    public cls(int x, int y){
        this.x = x;
        this.y = y;
    }

    public cls(int x, int y, int z){
        this.x = x;
        this.y = y;
        this.z = z;
    }
}
Run Code Online (Sandbox Code Playgroud)

java

6
推荐指数
2
解决办法
218
查看次数

有没有一种直接的方法来测量点和VectorDrawable组之间的距离?

在我的Android应用程序中,我想知道用户点击的点与特定的VectorDrawable组之间的距离.

我希望距离像blueVectorDrawable中的组一样:

<vector android:height="24dp" android:viewportHeight="1052.3622"
    android:viewportWidth="744.0945" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
    <path android:fillColor="#ff0000"
        android:name="blue"
        android:pathData="M182.9,349.5m-74.7,0a74.7,74.7 0,1 1,149.3 0a74.7,74.7 0,1 1,-149.3 0"
        android:strokeAlpha="1" android:strokeColor="#000000" android:strokeWidth="4.23501825"/>
    <path android:fillColor="#00ff00"
        android:name="red"
        android:pathData="M474.3,392.4a84.3,102.9 0,1 0,168.6 0a84.3,102.9 0,1 0,-168.6 0z"
        android:strokeAlpha="1" android:strokeColor="#000000" android:strokeWidth="5"/>>
</vector>
Run Code Online (Sandbox Code Playgroud)

在Android中有一种直接的方法来计算这个距离吗?

android android-layout android-drawable android-graphics android-vectordrawable

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

我需要做什么才能更改已发布到 Google Play 商店的 Android 应用程序的 ApplicationId

我不喜欢第一次在 Play 商店中发布应用程序时使用的 ApplicationId,并且想要更改它。那可能吗?

我发现如何更改现有应用程序的 Android 应用程序名称和 ID?但它只处理 Eclipse 中的应用程序,而不处理已经发布的应用程序。

android google-play google-play-console

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

如何在片段中使用MediaPlayer到SurfaceView

因为我希望能够通过播放视频的MediaPlayer,我想在播放视频的片段中使用SurfaceView而不是VideoView.

我查看了之前关于如何将MediaPlayer附加到SurfaceView的问题.这个问题的答案告诉我要创建两个函数:

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

    getWindow().setFormat(PixelFormat.UNKNOWN);
    mPreview = (SurfaceView)findViewById(R.id.surfaceView);
    holder = mPreview.getHolder();
    holder.setFixedSize(800, 480);
    holder.addCallback(this);
    holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
    mp = new MediaPlayer();
}


@Override
public void surfaceCreated(SurfaceHolder holder) {
    // TODO Auto-generated method stub
    mp.setDisplay(holder);
    play();
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,我不能通过Fragment覆盖surfaceCreated,因为Fragment没有这个方法.我还可以将MediaPlayer附加到片段中的SurfaceView吗?

android android-video-player android-fragments android-mediaplayer

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

如何在 Xamarin 中从 ViewModel 创建警报弹出窗口?

我正在使用 MVVM 模式开发 Xamarin 应用程序。我想在用户按下按钮时向用户显示警报。

我声明我的 ViewModel

class MainPageViewModel : BindableBase   {
Run Code Online (Sandbox Code Playgroud)

不幸的是,我无法Page直接从 ViewModel 中访问对象。我如何最好地显示我的警报?

alert xamarin xamarin.forms

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

如何将 Flutter 列中的小部件缩小到可用大小?

Column我有一个需要可变数量计时器的Flutter 。当需要一个计时器时,结果看起来像我想要的:

带 1 个计时器的演示

但是,如果我添加两个计时器,则会出现溢出:

带有 2 个溢出定时器的演示

我希望在第二种情况下计时器缩小以占用可用空间。如果我有四个计时器,理想情况下它也会显示两行和两列。

FittedBox我尝试用我设置的适合的计时器来包装我的计时器:BoxFit.fitHeight但这没有达到预期的结果。我还需要做什么?

按照评论中的要求使用 Wrap 代码:

Wrap(
        children: state.currentTimers
            .map((selectedTimer) => TimerSessionWidget(selectedTimer))
            .toList(),
      );

class TimerSessionWidget extends StatefulWidget {
  @override
  _SelectedTimerState createState() => _SelectedTimerState(_selectedTimer);

  final TimerSession _selectedTimer;

  TimerSessionWidget(this._selectedTimer);
}

class _SelectedTimerState extends State {
  final TimerSession _selectedTimer;

  _SelectedTimerState(this._selectedTimer);

  @override
  Widget build(BuildContext context) {
    return FittedBox(
      fit: BoxFit.fitHeight,
      child: Padding(
        padding: const EdgeInsets.all(8.0),
        child: GestureDetector(
          behavior: HitTestBehavior.deferToChild,
          onTap: () {
            if (_selectedTimer.loadedTimerBloc.state is VirginTimerState) {
              _selectedTimer.loadedTimerBloc.add(StartTimerAction());
            } else if (_selectedTimer.loadedTimerBloc.state
                is FinishedTimerState) {
              _selectedTimer.stopAlarmSound();
            } …
Run Code Online (Sandbox Code Playgroud)

flutter flutter-layout

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