- 📕 Portfolio
- 🌐 Blog
- 📑 Qiita
- 💻 Speaker Deck
atria64 / smartcontroller Goto Github PK
View Code? Open in Web Editor NEWAndroid端末でのWindowsPC操作を可能にするソフトウェア
Android端末でのWindowsPC操作を可能にするソフトウェア
キーボード入力を受け付けたい
サーバを終了させるソケット通信を行う
#21 関連で、現行のサポートライブラリにはバグがあるらしい
android - PreferenceFragmentCompat has padding on PreferenceCategory that I can't get rid of - Stack Overflow
AndroidXへ移行するとこの問題を解決できるため、検討
#39 が 前回のサーバー接続情報を所持した状態で接続に失敗した時 に起こるものだと特定した。
StatusがBADになり、UIを反映させる
NullをSocketManagerに渡しているのが原因だと思われる。
SocketManagerをインスタンス化する際にNullを渡す可能性がある。
Null渡しても何も問題なかった
...
namespace SmartControllerAndroid
{
[Activity(Label = "@string/app_name", Theme = "@style/AppTheme", MainLauncher = true)]
public class MainActivity : AppCompatActivity, ISharedPreferencesOnSharedPreferenceChangeListener
{
ISharedPreferencesEditor editor;
SocketManager socketManager;
...
protected override async void OnCreate(Bundle savedInstanceState)
{
string ipAddress = PreferenceManager.GetDefaultSharedPreferences(this).GetString("IpAddress", null);
if (await new SocketManager(ipAddress).PingAsync())
{
socketManager = new SocketManager(ipAddress);
editor.PutInt("Status", (int)Status.OK).Apply();
}
else editor.PutInt("Status", (int)Status.BAD).Apply();
}
...
}
}
@Atria64 やりなさい
#13 より、右クリック判定時間の調節を可能にするため preferences.xml
に記述自体はされている。
しかし、V1.0では対応しないため実装が終わるまで設定画面の右クリック判定時間の項目を非表示にしたい。
Webページを見ている際にほしいと思った。
二本指を上下にスワイプすることで、マウスホイールを動かしたい。
接続するためのQRコードを再表示できるようにしたい。
#18 関連
2d9b75c 現在、移動量が大きすぎてカーソルを見失ってしまう。
これを防ぐために、最大移動量をユーザー側で設定できるようにしたい。
題名通り。一部ソースコードを貼るが、SeekBarPreferenceのdefaultValueが動作していない。
<SeekBarPreference
app:key="MoveSpeed"
android:title="スワイプ感度"
android:summary="スワイプによる移動量を調節できます"
android:max="10"
android:defaultValue="5"
app:iconSpaceReserved="false"
app:showSeekBarValue="true"/>
初期値を正しく設定したい。
利用ライブラリ/素材のライセンスまわりを表示するためのポップアップがほしい
配布するとなると必須
最小1、最大10。
android:max="10"
seekBar.setMin(1);
seekBar.setMax(10);
などでいける気がする
2d9b75c 現在、接続失敗時にステータスが切り替わらない。
これを直したい。
未接続状態時、QRコード接続ボタンの下にダイレクト接続ボタンを設置する。
ダイレクト接続押下後ダイアログが表示され、ipアドレスを直接指定して接続を試みることができるようにする。
既定値では0.5秒以上のタップでロングタップ判定(右クリック判定)としている。
これをユーザー側で調節したい。
Win32 APIを手軽に呼び出すことができるらしい
https://github.com/microsoft/cswin32
かなり苦戦している。
自分と全く同じやりたい目標&症状が現れている。
However, using the framework of Xamarin.UITest or NUnit for .Net Framework, I get the following error:
Message: System.IO.FileNotFoundException: Could not load file or assembly 'Mono.Android, Version = 0.0.0.0, Culture = neutral, PublicKeyToken = 84e04ff9cfb79065' or one of its dependencies. The system can not find the specified file.
c# - Xamarin Android UnitTest and Instrumentation Test (not Forms) - Stack Overflow
2d9b75c 現在、生の移動量をServerに飛ばしているので移動量がとてつもない。
これをユーザー側で調整したい。
Flag立てればすぐ直せそう
アプリの使い方や仕様などを説明する、スワイプで読み進めるチュートリアル。
初回起動時に表示され、スワイプで読み進めることができるもの。
ユーザーがこのアプリケーション&システムを利用しやすくするため
現状実装速度を優先したため、QRコードを読み取る処理と操作を行う処理が一緒になっている。
これをFragmentに分割したい。
設定ファイルを削除することができるデバッグオプション。
#29 のような勘違いの回避
Webページを見ている際にほしいと思った。
実装方法は不明。
「GitHubリポジトリ」というテキストで追加したい。
コメントをくだされば喜んでアサインします。
develop
ブランチから新しくfeature
ブランチを生やして作業をお願いします。
2d9b75c 現在ではMoveイベントを受け取ったときにしかカーソル移動(SocketSend)が発動しない。
これを、押下している間常にカーソル移動を発動させたい。
現行の実装ではMainActivity
からしかアクセスすることができない。
具体的には、PreferenceFragment
でサーバー終了処理 #15 を行う際に困る。
現行の実装ではMainActivity
からしかアクセスすることができない。
具体的には、PreferenceFragment
でサーバー終了処理 #15 を行った際に接続に失敗したときに困る。
private void UpdateStatus(Status nextStatus)
{
//UIはメインスレッドで操作する
var handler = new Handler(Looper.MainLooper);
handler.Post(() => {
switch (nextStatus)
{
case Status.BAD:
statusBar.Background = ContextCompat.GetDrawable(this, Resource.Color.badStatus);
textView.Text = "未接続";
mainLayout.Touch -= OnTouch;
qrButton.Visibility = ViewStates.Visible;
break;
case Status.UNKNOWN:
statusBar.Background = ContextCompat.GetDrawable(this, Resource.Color.unknownStatus);
textView.Text = "接続チェック中";
break;
case Status.OK:
statusBar.Background = ContextCompat.GetDrawable(this, Resource.Color.okStatus);
textView.Text = "接続完了";
mainLayout.Touch += OnTouch;
qrButton.Visibility = ViewStates.Gone;
break;
}
});
}
SharedPreferences でアプリの設定値を保存する | まくまくAndroidノート - SharedPreferences オブジェクトの変更を監視する
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.