小编JJa*_*ck_的帖子

Android上的活动方向会自动更改

我正在开发基于Android的移动应用程序minSdkVersion=15.我想支持平板电脑的两种方向,只支持智能手机的肖像.一切都像魅力一样,但我遇到了一个让我发疯的小虫子.当智能手机处于横向模式并尝试触发新活动时,它会以横向模式打开一段时间,然后自动切换到纵向.我的每个活动都扩展了一个GeneralActivity类:

public class GeneralActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // If smartphone lock orientation to portrait
        if (!Helper.isTablet(this.getApplicationContext())){
            this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我检测到具有此功能的平板电脑

public class Helper {
    public static boolean isTablet(Context context){
        Configuration config = context.getResources().getConfiguration()
        return config.smallestScreenWidthDp >= 600;
    }
}
Run Code Online (Sandbox Code Playgroud)

我选择不在android:screenOrientationManifest.xml中指定,因为这样我就可以支持平板电脑的所有界面方向.我错过了什么吗?

编辑

我决定应用Jonathan在答案中建议的最佳实践,但我所描述的问题仍然存在.这是我在github上的回购:https://github.com/giacmarangoni/Android-Orientation-Test

java mobile android android-orientation android-activity

11
推荐指数
3
解决办法
3337
查看次数

约束布局内回收器视图的问题

我正在尝试创建一个基于复杂布局的底部表单对话框。我必须实现的是一个带有标题布局的对话框、一个带有元素列表的回收器视图和一个带有几个按钮的底部栏。这是我的代码:

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <android.support.constraint.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <!-- Layout injected inside this linear layout container programmatically -->
        <LinearLayout
            android:id="@+id/header_dialog_container"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            app:layout_constraintBottom_toTopOf="@id/form_dialog_recycler_view"
            app:layout_constraintTop_toTopOf="parent" />

        <android.support.v7.widget.RecyclerView
            android:id="@+id/form_dialog_recycler_view"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:scrollbars="vertical"
            app:layout_behavior="@string/appbar_scrolling_view_behavior"
            app:layout_constraintBottom_toTopOf="@id/bottom_sheet_container_buttons"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@id/header_dialog_container" />

        <LinearLayout
            android:id="@+id/bottom_sheet_container_buttons"
            android:layout_width="match_parent"
            android:layout_height="60dp"
            android:orientation="horizontal"
            app:layout_constraintBottom_toBottomOf="parent">

            <Button
                android:id="@+id/dialog_sheet_button_reset"
                style="@style/ActionSheetTitle"
                android:layout_width="0dp"
                android:layout_height="60dp"
                android:layout_weight="0.5"
                android:background="@color/bottomBarContainerColor"
                android:text="@string/general_reset"
                android:textColor="@color/dangerColor" />

            <Button
                android:id="@+id/dialog_sheet_button_close"
                style="@style/ActionSheetTitle"
                android:layout_width="0dp"
                android:layout_height="60dp"
                android:layout_weight="0.5"
                android:background="@color/bottomBarContainerColor"
                android:text="@string/general_close" />

        </LinearLayout>
    </android.support.constraint.ConstraintLayout>
</layout>
Run Code Online (Sandbox Code Playgroud)

不幸的是,我的回收器视图高度始终等于零。我尝试更改android:layout_height="0dp"android:layout_height="wrap_content",但正如预期的那样,它位于底部容器下方。我错过了什么吗?

android android-linearlayout android-recyclerview bottom-sheet android-constraintlayout

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

Google Play商店 - 无法安装测试版

我正在开发我的Android应用程序的新版本,我想向测试人员分发测试版.我创建了一组私人测试人员,然后我上传了我的测试版APK(超过24小时前).在这一点上,我面临一个奇怪的行为:

  • Google Play商店仅向我的测试人员通知了我的应用更新;
  • 当他们尝试更新时,他们得到并且错误如:"应用程序无法安装,因为它已经安装.错误代码:-1"

我使用之前使用的相同密钥库签署了我的APK,并设置了更高版本的versionCodeversionName.App包仍然是一样的.

deployment android google-play android-keystore google-play-services

5
推荐指数
0
解决办法
673
查看次数

使用TinyMCE的multipart/form-data,ajax和textarea问题

我正在使用html/php/ajax/jquery,今天我指出了一个让我发疯的小问题.

我有一个HTML表单:

<form method="POST" enctype="multipart/form-data" name="myForm" id="myForm" action="">
    <label class="form-label">Nome</label>
    <input name="nome" type="text" class="form-control"><br>
    <label class="form-label">Descrizione</label>
    <textarea name="descrizione" id="text-editor" placeholder="" class="form-control" rows="10"></textarea>
    <label class="form-label">Stato</label>
    <select name="stato" id="source" style="width:30%">
        <option value="1">Abilitato</option>
        <option value="0">Disabilitato</option>
    </select>
    <h4>Foto profilo</h4>
    <input type="hidden" name="MAX_FILE_SIZE" value="20400000" >  
    <input style="border:0px;" type="file" name="user_foto" id="file"> 
    <div class="form-actions">  
        <div class="pull-right">
            <button type="submit" class="btn btn-success btn-cons"><i class="icon-ok"></i>Inserisci</button>
            <button type="button" class="btn btn-white btn-cons" onclick="window.location.href='index.php'">Indietro</button></a>
        </div>
    </div>
</form>
Run Code Online (Sandbox Code Playgroud)

我正在使用一个JQuery + Ajax脚本,它能够在不重新加载页面的情况下触发php脚本,并将表单的数据插入到我的数据库中的表中:

$(document).ready(function(){
    $('#myForm').on('submit',function(e) {
        var formData = new FormData(this);      
        $.ajax({
            url:'inserisciProfessionisti.php',
            data: formData,
            type:'POST', …
Run Code Online (Sandbox Code Playgroud)

javascript ajax textarea tinymce multipartform-data

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

使用bash处理大量数据

我必须使用bash脚本处理文件夹中的大量txt文件.每个文件包含数百万行,它们的格式如下:

档案#1:

en ample_1 200
it example_3 24
ar example_5 500
fr.b example_4 570
fr.c example_2 39
en.n bample_6 10
Run Code Online (Sandbox Code Playgroud)

档案#2:

de example_3 4
uk.n example_5 50
de.n example_4 70
uk example_2 9
en ample_1 79
en.n bample_6 1
Run Code Online (Sandbox Code Playgroud)

...

我必须通过"en"或"en.n"进行过滤,在第二列中找到重复的出现次数,求和第三列并得到如下的排序文件:

en ample_1 279
en.n bample_6 11
Run Code Online (Sandbox Code Playgroud)

我的脚本在这里:

#! /bin/bash
clear
BASEPATH=<base_path>
FILES=<folder_with_files>
TEMP_UNZIPPED="tmp"
FINAL_RES="pg-1"
#iterate each file in folder and apply grep
INDEX=0
DATE=$(date "+DATE: %d/%m/%y - TIME: %H:%M:%S")
echo "$DATE" > log
for i in ${BASEPATH}${FILES}
do
FILENAME="${i%.*}" …
Run Code Online (Sandbox Code Playgroud)

unix linux bash awk bigdata

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