小编Dal*_*ale的帖子

使用Android Studio的gradle构建将tess-two构建到项目中

有关将tess-two项目集成到Android Studio中的Android项目的答案,但许多已过时,并且没有使用此处定义的当前功能:

使用Android Studio 2.2及更高版本,您可以使用NDK将C和C++代码编译到本机库中,并使用IDE的集成构建系统Gradle将其打包到您的APK中.然后,您的Java代码可以通过Java Native Interface(JNI)调用本机库中的函数

tess-two使用Android Studio中的功能而不是外部文件放置,操作和命令行工具,将功能作为结果APK的一部分需要哪些具体步骤?因此,将构建,*.so文件创建到IDE中.具体而言仅使用Android Studio中集成构建系统如所描述的(摇篮)这里.

1.开始一个新项目

启动一个支持C++的新Android Studio项目

2.将Tess-Two导入项目中

将tess-two作为新项目中的模块导入

2B.添加任何所需的插件

添加到tess-two build.gradle以获取所需的插件

3.在主活动中添加代码以获取本机功能

静态导入tess-two本机文件

4.配置Android Studio构建,以便可以使用本机功能

这是需要具体细节的地方

java-native-interface android-ndk android-gradle-plugin tess-two android-studio-2.2

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

如何防止 UIButton 的图像颜色重置为默认值?

这个问题是关于 Swift 4,Xcode 9.3.1。

更改图像按钮颜色的过程已有详细记录。那不是问题。

这个问题是关于如果按钮恰好是内部目标,为什么图像按钮的颜色会重置为默认颜色IBAction,以及如何处理它。

我在 Xcode 中创建了一个新项目来演示我所看到的内容。这是一个在视图控制器中有一个 IBAction 的项目,它尝试更改按钮上图像的颜色。我向应用程序添加了三个按钮(oneButtontwoButtonthreeButton),并将它们连接起来,因此每个按钮都有以下插座:

为典型按钮定义的插座

每个按钮都定义了不同的图像。这是一个例子:

名为“local”的图像示例

这是ViewController

import UIKit

class ViewController: UIViewController {

  @IBOutlet weak var oneButton: UIButton!
  @IBOutlet weak var twoButton: UIButton!
  @IBOutlet weak var threeButton: UIButton!

  override func viewDidLoad() {
    super.viewDidLoad()
  }
  override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
  }

  @IBAction func myAction(sender: UIButton) {
    let oneImageView = oneButton.imageView
    if sender == oneButton {
      print("oneButton")
      oneImageView?.setImageColor(color: UIColor.red)
    } else if sender == twoButton …
Run Code Online (Sandbox Code Playgroud)

uibutton uiimageview ibaction tintcolor swift

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

java.util.FormatFlagsConversionMismatchException:转换= s,标志=

请帮助我!\n在我的活动中发现问题\n我正在尝试通过将%s显示为来自...的详细信息(信息)来创建警报活动

\n

我的活动

\n
   mPreAlarm = getIntent().hasExtra(EXTRA_PRE_ALARM_FLAG) && getIntent().getBooleanExtra(EXTRA_PRE_ALARM_FLAG, true);\nif (mPreAlarm) {\n  String formatString = "%2$tl:%2$tM %2$tp %1$s";\n  if (mSettings.getTimeFormatFor(0) == ReyTime.TIME_24) {\n    formatString = "%2$tk:%2$tM %1$s";\n  }\n  mReyerName.setText(String.format(formatString, mReyerNameString, now));\n} else {\n  mReyerName.setText(getString(R.string.reyer_name_time, mReyerNameString));\n}\n\nmAlarmOff = (Button) findViewById(R.id.alarm_off);\nmAlarmOff.setOnClickListener(this);\n\ntry {\n  playAlarm();\n} catch (Exception e) {\n  Log.e("RingAlarmActivity", e.getMessage(), e);\n}\n\n//if(PermissionUtil.hasSelfPermission(this,  Manifest.permission.READ_PHONE_STATE)) {\n  TelephonyManager telephonyManager = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);\n  telephonyManager.listen(phoneStateListener, PhoneStateListener.LISTEN_CALL_STATE);\n//}\n
Run Code Online (Sandbox Code Playgroud)\n

}

\n

我的应用程序中的字符串

\n
    <string name="rey_name_time">%s time.</string>\n
Run Code Online (Sandbox Code Playgroud)\n

我的 LogCat,我发现了一个错误,但我无法修复它

\n
05-11 19:39:53.384 9007-9007/com.rey.kampret E/AndroidRuntime: FATAL EXCEPTION: main\nProcess: com.rey.kampret, PID: 9007\njava.lang.RuntimeException: Unable to …
Run Code Online (Sandbox Code Playgroud)

android

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

如何在第一个JSP Servlet中调用第二个JSP Servlet?

假设我提交了一个简单页面(该页面没有参数,没有表单等,并且无法向该页面添加任何内容),最后我进入了第一个servlet。现在,我确定是时候在第二个servlet中进行处理了。第二个servlet需要填充一堆参数和表单字段,因此首先我需要在第一个servlet中进行设置,然后弄清楚如何将这些东西添加到第二个servlet中。当我尝试向参数映射中添加某些内容时,它出错了,“不允许对锁定的参数映射进行任何修改”(这是JSP的工作方式)。我当时在想也许我应该实例化另一个请求对象,但是我不确定该怎么做(并确保自己远离热水)。如果在第一个servlet中,我曾经能够用所有“正确的东西”构造一个请求对象,那么我 d需要使用该请求运行第二个servlet,并让我进入第二个servlet将我重定向到的任何页面。我认为那只是一个response.sendRedirect();

如何获得第一个servlet中定义的其他参数和内容,以便在执行sendRedirect时,第二个servlet具有所需的一切?

redirect jsp servlets

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

如何转换 Android 位图以包裹圆柱体并改变视角

我编写了一个示例应用程序,它允许 Android 用户拍照并将视图中的文本内容作为图像的叠加层并保存到图库相册中:

相机图像上的文字

我想要的是在加入两个图像之前转换文本位图。具体来说,我想使文本曲线在两侧向上(模拟环绕圆柱体),并使其顶部比底部大(模拟自上而下的透视),如下所示:

相机图像上的转换文本

无需解释相机图像即可确定曲率或透视变化量。问题是如何操作位图以便可以进行两个转换。

这是我用来将未转换的文本放入相机图像和图库的代码:

private void combinePictureWithText(String fileName) {
    Log.v(TAG, "combinePictureWithText");

    int targetW = getWindowManager().getDefaultDisplay().getWidth();
    int targetH = getWindowManager().getDefaultDisplay().getHeight();

    /* Get the size of the image */
    BitmapFactory.Options bmOptions = new BitmapFactory.Options();
    bmOptions.inJustDecodeBounds = true;
    BitmapFactory.decodeFile(fileName, bmOptions);
    int photoW = bmOptions.outWidth;
    int photoH = bmOptions.outHeight;

    /* Figure out which way needs to be reduced less */
    int scaleFactor = 1;
    if ((targetW > 0) || (targetH > 0)) {
        scaleFactor = Math.min(photoW/targetW, photoH/targetH);
    }
    Log.v(TAG, "Scale Factor: " …
Run Code Online (Sandbox Code Playgroud)

android opengl-es bitmap perspectivecamera virtual-reality

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

为什么`Intent.createChooser(shareIntentWithJpgFileName)`退出工作?

图像文件不再通过选择器传递

代码startActivity(intent.createChooser(shareIntentWithJpgFileName))在我的应用程序中运行良好多年,但我注意到大约一个月前它不再将图像文件传递给用户在选择器对话框中选择的应用程序.我怀疑Android操作系统安全改组(再次!),但不知道如何继续.

如果用户在选择器对话框中选择任意数量的选项,则应用程序将打开,但不会显示该.jpg部分是意图的一部分.如果用户选择Google云端硬盘,我会通过它的吐司得到一个错误的提示:

上传失败:请求中不包含任何数据

以前的代码:

String fileName = data.getStringExtra(EXTRA_FILENAME);                    
Log.v(TAG, "Starting Share intent.  fileName: " + fileName); //This shows fileName: /storage/emulated/0/dcim/DalesApp/IMG_20190103_142555_8445288886207383328.jpg              
Intent shareIntentWithJpgFileName = new Intent(Intent.ACTION_SEND);                
shareIntentWithJpgFileName.setType("image/jpeg");                
File filePassedIn = new File(fileName); 
Log.v(TAG, "exists: " + filePassedIn.exists() + " canRead: " + filePassedIn.canRead());   // Result is exists: true canRead: true.  Thanks Mark!           
shareIntentWithJpgFileName.putExtra(MediaStore.EXTRA_OUTPUT, FileProvider.getUriForFile(this, BuildConfig.APPLICATION_ID + ".provider", filePassedIn));                
shareIntentWithJpgFileName.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);                
startActivity(Intent.createChooser(shareIntentWithJpgFileName, "Share Image"));                
Run Code Online (Sandbox Code Playgroud)

另外,我将此作为以下内容的一部分AndroidManifest.xml:

<provider    
    android:name="android.support.v4.content.FileProvider"    
    android:authorities="${applicationId}.provider"    
    android:exported="false"    
    android:grantUriPermissions="true">    
    <meta-data    
        android:name="android.support.FILE_PROVIDER_PATHS"    
        android:resource="@xml/provider_paths"/>    
</provider>    
Run Code Online (Sandbox Code Playgroud)

这也是在AndroidManifest.xml …

android android-security android-intent-chooser

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

如何在外部CSS中有效地"子类化"?

我有一个定义的框适用于我的大部分网站:

.searchBox
{
    width: 610px;
    height: 170px;
    padding: 15px 55px 5px 15px;
    background: url('../images/advanced_search_BG.jpg') no-repeat;
    margin-top: 10px;
}
Run Code Online (Sandbox Code Playgroud)

但我有一个盒子需要更大一些; 它必须是height: 220px.

我知道我可以复制上面的内容,称之为,比方说searchBoxLarge,把它放在我的div标签上,然后完成.但这是我不想要的重复代码.

这可能是一个"愚蠢的问题",但我没有接受CSS培训并寻求帮助......

指定searchBoxLargewith 的格式是什么height: 220px,但没有重复整个searchBox条目?

html css code-duplication stylesheet

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

当需要颜色时,OpenCv Core.line 会绘制白色

在环境中OpenCv4Android,当我创建Mat图像并用于Core.line()在图像上绘图时,它始终显示白色而不是我指定的颜色。

白色方块代替绿色方块

我看到了一个与灰度相关的问题,但我的图像尚未转换为灰度。

public class DrawingTest extends AppCompatActivity {
    public static final Scalar GREEN = new Scalar(0,255,0);
    private RelativeLayout mLayout;
    private ImageView imageView;

    static {
        System.loadLibrary("opencv_java");
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_drawing_test);

        mLayout = (RelativeLayout) findViewById(R.id.activity_drawing_test);
        mLayout.setDrawingCacheEnabled(true);

        imageView = (ImageView) this.findViewById(imageView_dt);

        //test.jpg is in the drawable-nodpi folder, is an normal color jpg image.
        int drawableResourceId = getResources().getIdentifier("test", "drawable", getPackageName());
        Bitmap bitmap = BitmapFactory.decodeResource(getResources(), drawableResourceId);
        //Mat matImage = new Mat(); // …
Run Code Online (Sandbox Code Playgroud)

android opencv

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