使用gradle时如何定义apk输出目录?
我想有可能在每次构建后将apk上传到共享文件夹.
我有自定义的RecyclerView来创建ListView.当我尝试在我的布局ID中填充列表视图时,它工作得很好.
FragmentTransaction ft = getFragmentManager().beginTransaction();
Bundle bundle = new Bundle();
bundle.putBoolean("enablePullToRefresh", false);
GridValues gridValues = new GridValues();
gridValues.rowViewLayout = R.layout.my_detail_row_view;
gridValues.delegate = this;
mygrid = new CustomGridView(gridValues, bundle);
mygrid.showAsGrid = true;
mygrid.spanCount = 2;
mygrid.layoutOrientation = LinearLayoutManager.VERTICAL;
mygrid.noRowColor = true;
mygrid.gridName = "mygrid";
mygrid.setArguments(mygrid.bundle);
ft.replace(R.id.MyGridContainer, mygrid);
Run Code Online (Sandbox Code Playgroud)
现在,我想在对话框中填充一个新列表.我怎样才能做到这一点?
我试过这个,让mygrid成为静态的
public static class MyDialogFragment extends DialogFragment {
static MyDialogFragment newInstance() {
return new MyDialogFragment();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return mygrid.getView();
}
}
Run Code Online (Sandbox Code Playgroud)
然后,
FragmentTransaction ft …Run Code Online (Sandbox Code Playgroud) android android-fragments android-alertdialog android-recyclerview
我有一个活动,我给用户一个选项来点击相机中的图像,然后我将这个图像存储在一个字节数组和数据库中.但是我的代码似乎不适用于三星Galaxy S3下面是代码:
相机调用意图:
if (i == 0) {
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST);
}
Run Code Online (Sandbox Code Playgroud)
关于相机的活动方法:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 1337 && resultCode == RESULT_OK) {
Bundle extras = data.getExtras();
if (extras != null) {
BitmapFactory.Options options = new BitmapFactory.Options();
thumbnail = (Bitmap) extras.get("data");
image(thumbnail);
} else {
Toast.makeText(CreateProfile.this, "Picture NOt taken", Toast.LENGTH_LONG).show();
}
super.onActivityResult(requestCode, resultCode, data);
}
}
Run Code Online (Sandbox Code Playgroud)
我的图像(位图缩略图)功能:
public void image(Bitmap thumbnail) {
Bitmap photo = thumbnail;
ByteArrayOutputStream bos …Run Code Online (Sandbox Code Playgroud) 我在我的应用程序中使用cookie在所有浏览器中都能正常工作,但在android设备中,cookie的设置速度并不像我想要的那么快,需要一些时间才能保存cookie,当我删除cookie时也是如此.有什么办法可以让它更好地运作吗?提前感谢您的回答.
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webview = new WebView(this);
webview.getSettings().setJavaScriptEnabled(true); // enable javascript
CookieManager.setAcceptFileSchemeCookies(true);
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.setAcceptCookie(true);
cookieManager.acceptCookie();
String cookie = CookieManager.getInstance().getCookie("mylink");
final Activity activity = this;
webview.setWebViewClient(new WebViewClient() {
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
Toast.makeText(activity, description, Toast.LENGTH_SHORT).show();
}
});
webview.loadUrl("mylink");
setContentView(webview);
}
Run Code Online (Sandbox Code Playgroud) 例如,在下面的代码中a,b并且c是相同的.
EditText editText;
editText = (EditText) findViewById(R.id.edttxt);
editText.setText("1234");
int a, b, c;
a = editText.length();
b = editText.getText().length();
c = editText.getText().toString().length();
Run Code Online (Sandbox Code Playgroud)
有什么区别length()和getText().length()和getText().toString().length()?
有人能告诉我是否难以创建条形码扫描器应用程序(适用于Android)?OpenCV库是一个良好的开端吗?我在哪里可以找到清楚解释如何读取条形码的算法?我会很感激有关这个主题的所有好材料!
提前致谢!
使用导航组件的深层链接时如何重新创建 singleTop 行为?
我正在使用 Jetpack Navigation,目前正在尝试实现通知点击。其中一个片段用于播放音乐。当您将应用程序设为后台时,会显示一条通知并继续播放音乐。当我点击通知时,我想回到带有回放的片段。我想模仿singleTop行为。
为了处理通知点击,我使用了一个显式的深层链接(PendingIntent带导航图):
val pendingIntent = NavDeepLinkBuilder(context)
.setGraph(R.navigation.nav_graph)
.setDestination(R.id.music)
.setArguments(...)
.createPendingIntent()
Run Code Online (Sandbox Code Playgroud)
不幸的是,它清除了任务返回堆栈并将其替换为深层链接目标。我怎样才能防止这种行为?我知道有,NavOptions#shouldLaunchSingleTop但我认为无法将它与PendingIntentand一起使用NavDeepLinkBuilder。是否可以使用 NavOptions 启动深层链接?
如何阅读和显示评级栏值
i[0] // should be selected value
private OnClickListener onclickbutton1 = new OnClickListener() {
public void onClick(View v) {
int[] i = new int[]{ R.id.mRatingBar};
statusMessage.setText("value is " + i[0]);
}
};
Run Code Online (Sandbox Code Playgroud)
//这个有效
private OnClickListener onclickbutton1 = new OnClickListener() {
public void onClick(View v) {
RatingBar mBar = (RatingBar) findViewById(R.id.mRatingBar);
float[] i = new float[]{ mBar.getRating() };
statusMessage.setText("value is.. " + i[0]);
}
};
Run Code Online (Sandbox Code Playgroud) 我将shrinkResources设置为true,如下所示:
releasepro {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
applicationIdSuffix ".pro"
}
Run Code Online (Sandbox Code Playgroud)
但这只是删除了一些未使用的资源.我知道gradle做了一些猜测,并留下了不确定未使用的资源.有没有办法100%删除所有未使用的资源?
我读到在另一个线程中将shrinkMode设置为strict.这会有帮助吗?我无法尝试,因为我无法确定设置它的位置.查看示例和文档,但遗憾的是无法访问正确的页面.
有没有办法确保100%删除未使用的资源?
我有一个奇怪的问题.我使用了prepareAsync方法MediaPlayer,但我声明的监听器永远不会被触发.我尝试.mp3从互联网(电台)流式传输实时信息.我为侦听器使用内联方法,但我也尝试实现接口而没有任何成功.这是我的代码的一部分:
在会员部分:
String url = "http://<my_url>.mp3";
MediaPlayer mediaPlayer = new MediaPlayer();
Run Code Online (Sandbox Code Playgroud)
在活动中onCreate():
ToggleButton playButton = (ToggleButton) findViewById(R.id.playToggleButton);
playButton.setOnClickListener(this);
playButton.clearFocus();
playButton.setClickable(false);
mediaPlayer.setOnPreparedListener(new OnPreparedListener() {
public void onPrepared(MediaPlayer mp) {
ToggleButton playButton = (ToggleButton) findViewById(R.id.playToggleButton);
playButton.setClickable(true);
mp.start();
}
});
preparePlayer();
Run Code Online (Sandbox Code Playgroud)
然后,这是preparePlayer()方法:
private void preparePlayer() {
if (mediaPlayer == null) {
mediaPlayer = new MediaPlayer();
}
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
try {
mediaPlayer.setDataSource(url);
mediaPlayer.prepareAsync();
} catch (IllegalArgumentException e) {
Toast.makeText(
MyStreamActivity.this,
getResources().getString(R.string.erreurIllegalArgument),
Toast.LENGTH_LONG).show();
e.printStackTrace();
} catch (IllegalStateException e) …Run Code Online (Sandbox Code Playgroud)